您的位置:首页 > 其它

整型数与浮点数在内存中的表示

2016-03-16 23:16 190 查看
落下的基础还是要早点补起来的。。。

整型数在内存中存储
正整数
以int a = 25为例
1. 将a用2进制表示(25)10 = (11001)2因为int型在内存中占4个字节,也就是32位,实际是(0000 0000 0000 0000 0000 0000 0001 1001)2. 用16位表示(0 0 0 0 0 0 19) à(00 00 00 19) 在内存中低地址在高位,也就是19 00 00 00 负整数
以int b = -25为例
1. 将b用2进制表示
(0000 0000 0000 0000 0000 0000 0001 1001)2. 取反
1111 1111 11111111 1111 1111 1110 0110+11111 1111 11111111 1111 1111 1110 0111F F F F F F E 7 à FF FF FF E7在内存中表示为E7 FF FF FF
浮点数在内存中存储
正浮点数
以float c = 8.25f
1. 将c用2进制表示1000.011000.01 = 1.00001*2^3(尾数00001,指数3)第0位 表示符号位(0正数,1负数)第1-22位 表示尾数部分第23-31位 表示指数部分(共9位) 127+指数 所以表示为0 1000 0010 00001 后面补0,共32位0100 0001 00000100 0000 0000 0000 00004 1 0 4 0 0 0 0 à 41 04 00 00内存中00 00 04 41 负浮点数
以float d = -8.25f
1. 将d用2进制表示-1000.01先计算除符号以外的1000.01 =1.00001*2^3因为是负数,所以首位是11 1000 0010 00001 1100 0001 00000100 0000 0000 0000 0000C 1 0 4 0 0 0 0 à C1 04 00 00内存中00 00 04 C1
2016-03-16 23:16:16 于北京 海淀
本文出自 “做最好的自己” 博客,请务必保留此出处http://qiaopeng688.blog.51cto.com/3572484/1751963
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: