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、整型数一般使用原码、反码、补码三种编码方式。
原码:即用第一位表示符号, 其余位表示值. 比如如果是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。
展开全部
简单的说,整数型就是只能定义 整型的数,而实数型则可以定义含有小数的数,而且有效位数比整型多,精确性高!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-22
展开全部
简单来说,整数型只能定义为整数的数,而实数型则可以定义含有小数的数,且有效位数较整型多,精确性高!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-22
展开全部
整型就是用固定的内存空间表示一个数值的范围一般都是2的幂,比如16位的无符号整型,数值表示范围就是0-2^16-1,如果是有符号的就用补码表示,其实补码很容易理解,就是真实值+2^16,比如-100的补码就是65536+(-100);
浮点型:浮点型就是采用科学记数法表示的实数,表述的书范围比较大,但是精度不及整型
浮点型:浮点型就是采用科学记数法表示的实数,表述的书范围比较大,但是精度不及整型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询