关闭→
当前位置:尚之范>生活>心理>c语言整数与实数的区别

c语言整数与实数的区别

尚之范 人气:1.75W
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。

TAG标签:#整数 #实数 #语言 #