C语言整数型和实数型有什么区别?

如题所述

  C语言整型数和实型数最在的区别在于编码方式上。

  1、整型数一般使用原码、反码、补码三种编码方式。
  原码:即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
  1的原码=0000 0001 //最左侧的最高位是符号位,0表示正数
  -1的原码=1000 0001 //最左侧的最高位1表示负数
  反码:即在原码的基础上符号位不变,其它各位求反。
  -1的反码=1111 1110 //注意符号位不变
  补码:即在反码的基础上,再加1
  -1的补码=1111 1111
  
  2、实数型一般使用的是IEEE754编码方式。IEEE754中规定了实数符号位、指数位和尾数位,即有效数字位所占的二进制位数,具体如下:

  格式 长度 符号位 指数位 尾数位 有效位数 指数偏移 尾数说明
  单精度 32 1 8 23 24 127 有一位隐含位
  双精度 64 1 11 52 53 1023 有一位隐含位
  扩展双精度 80 1 15 64 64 16383 没有隐含位
  注意:扩展双精度格式没有隐含位,因此它的有效位数与尾数位数一致,而单精度和双精度格式均有一位隐含位,因此它们的有效位数比尾数位数多1。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-22
简单的说,整数型就是只能定义 整型的数,而实数型则可以定义含有小数的数,而且有效位数比整型多,精确性高!本回答被网友采纳
第2个回答  2013-04-22
简单来说,整数型只能定义为整数的数,而实数型则可以定义含有小数的数,且有效位数较整型多,精确性高!
第3个回答  2013-04-22
整型就是用固定的内存空间表示一个数值的范围一般都是2的幂,比如16位的无符号整型,数值表示范围就是0-2^16-1,如果是有符号的就用补码表示,其实补码很容易理解,就是真实值+2^16,比如-100的补码就是65536+(-100);
浮点型:浮点型就是采用科学记数法表示的实数,表述的书范围比较大,但是精度不及整型
相似回答