整型数与浮点数在内存中的表示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整型数与浮点数在内存中的表示相关的知识,希望对你有一定的参考价值。
落下的基础还是要早点补起来的。。。
整型数在内存中存储
正整数
以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进制表示
(1000 0000 0000 0000 0000 0000 0001 1001)
2. 取反
0111 1111 11111111 1111 1111 1110 0110
+1
0111 1111 11111111 1111 1111 1110 0111
7 F F F F F E 7 à 7F FF FF E7
在内存中表示为
E7 FF FF 7F
浮点数在内存中存储
正浮点数
以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 于北京 海淀
本文出自 “做最好的自己” 博客,请务必保留此出处http://qiaopeng688.blog.51cto.com/3572484/1751963
以上是关于整型数与浮点数在内存中的表示的主要内容,如果未能解决你的问题,请参考以下文章