落下的基础还是要早点补起来的。。。
整型数在内存中存储
正整数
以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
+1
1111 1111 11111111 1111 1111 1110 0111
F F F F F F E 7 à FF FF FF E7
在内存中表示为
E7 FF FF FF
浮点数在内存中存储
正浮点数
以float c = 8.25f
1. 将c用2进制表示
1000.01
1000.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 0000
4 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
因为是负数,所以首位是1
1 1000 0010 00001
1100 0001 00000100 0000 0000 0000 0000
C 1 0 4 0 0 0 0 à C1 04 00 00
内存中
00 00 04 C1
2016-03-16 23:16:16 于北京 海淀
转载于:https://blog.51cto.com/qiaopeng688/1751963