落下的基础还是要早点补起来的。。。 



整型数在内存中存储

正整数

int a = 25为例

1.      a2进制表示

(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.    b2进制表示

(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.      c2进制表示

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.      d2进制表示

-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 于北京 海淀