十进制->二进制 eg:十进制数10转换二进制 10/2=5········0 5/2 = 2······1 2/2 = 1·····0 1/2 = 0······1 所以10的二进制为1010 float->二进制 8.25 整数部分与上面一样 8/2=4···0 4/2 = 2···0 2/2 = 1···0 1/2 = 0···1 8->1000(b) 0.25->二进制 0.25*2 = 0.5 <1 0 0.5*2 = 1.0 = 1 1 所以8.25 = 1000.01 = 1.00001*2^3
符号域:S 占一位 正数为0 负数为1 接吗域:E 占8位 或者11位 E=e+127或者E=e+1023 尾数域名:M 23位或者52位 小数位部分 float的存储结构 由于计算机中只能存储二进制数据,所以十进制数据必须转成二进制数
例如:-8.25=-1000.01=-1.00001*2^3
-8.25转化为二进制,转化如下:以2为基数
整数部分
8/2=4............0
4/2=2............0
2/2=1............0
1/2=0............1
所以整数部分是1000
小数部分 取整数部分
0.25*2=0.5........0
0.50*2=1.0........1
所以小数部分是01
所以8.25转为二进制为1000.01
8.25 = 1000.01 = 1.00001*2^3 首先化为规范化的指数形式 符号域 阶码域 尾数域 0 3+127 00001000000000000000000 所以符号域 = 0 阶码域 3+127 = 130 ->10000010(b) 尾数域:00001000000000000000000 2023-04-04T01:28:39.png 0100 0001 0000 0100 0000 0000 0000 0000 4 1 0 4 0 0 0 0 所以浮点数8.25在内存中存储的数据是0x41040000 double的存储结构 双精度类似单精度 不写了。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有