当前位置:淳美吧 > 智慧生活 > 心理 > c语言整数与实数的区别
手机版

c语言整数与实数的区别

来源:淳美吧 阅读:2.02W 次
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。

本文链接:https://www.chunmeiba.com/zhihuishenghuo/xinli/13wj8w.html

Copyright © 2024. 淳美吧 All right reserved. 浙ICP备20204785号-2

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。