美文网首页
C语言中的变量的表数范围和存储形式

C语言中的变量的表数范围和存储形式

作者: 伟大的洪立 | 来源:发表于2018-06-01 18:05 被阅读0次

    C语言中的数据类型

    数据类型表

    不同类型数据占用的内存大小不同

    • int 整型, C标准未规定, 系统相关
      • 目前大多数系统上占4个字节
    • short int, 简写为short
      • 短整型, 2个字节
    • long int, 简写为long
      • 长整型, 4个字节
    • unsigned, 无符号整型(正整数和0)
      • 用来修饰int, short, long
    • float
      • 单精度实型, 4个字节
    • double
      • 双精度实型, 8个字节
    • long double
      • 长双精度实型, IEEE规定10个字节, 系统相关
      • 大多数编译器并未按照IEEE标准,一般默认和double等价占8个字节
    • char
      • 字符型, 1个字节

    计算变量或类型占内存的大小

    • 用sizeof 运算符
    • 一元运算符


      语法
    sizeof(int) 计算整型占用内存空间的字节数
    

    不同数据类型的表数范围

    image.png

    不同类型数据的存储形式不同

    image.png
    • 定点数

      • 定点小数(纯小数) ------ 小数点位于符号位和最高数值位之间


        定点小数
      • 定点整数 ------- 小数点位于数值位的最低位


        定点整数
    • 浮点数
      小数点的位置不固定
      一般使用科学计数法表示


      image.png

    浮点数实现小数点位置可浮动的主要原因

    • 将实数拆分成了阶码和尾数
    • 对与同样的尾数, 阶码的值越大, 则浮点数所表示的数值的绝对值越大


      image.png

    浮点数与定点数

    1.计算机为什么采用浮点数而非定点数来表示实数?

    • 因为浮点数可以表示的范围更大,而且更加的方便;

    2.浮点数是实数的精确表示吗?

    • 浮点数不是实数的精确表示,所以我们在使用浮点数的时候要注意浮点数的误差值,以及误差值的累积;

    3.既然浮点数相对于整数能够表示更大的数,那么是否可以用浮点数取代整数呢?

    • 不可以用浮点数取代整数,用浮点数取代整数会占用更多的内存空间。

    相关文章

      网友评论

          本文标题:C语言中的变量的表数范围和存储形式

          本文链接:https://www.haomeiwen.com/subject/keigxftx.html