十六进制乘除法加内存大小和内存地址范围的换算

十六进制乘除法加内存大小和内存地址范围的换算


2024年4月13日发(作者:)

先记住一个公式:内存大小=存储字节数=地址个数=末地址-首地址+1

大家都知道1个字节=1byte=8Bit 也就是一个字节占用一个八位地址(0000 0000)

=0x00

1KB=1024字节=1024个地址

1MB=1024KB

1GB=1024MB

1KB=1024字节换成16进制就是0x400个地址,如果首地址是0x00的话,那么

1KB的内存分配的地方就是0x00~0x3FF

2KB=2048字节换成16进制就是0x800个地址,如果首地址是0x00的话,那么

1KB的内存分配的地方就是0x00~0x7FF

3KB=3072字节换成16进制就是0xC00个地址,如果首地址是0x00的话,那么

1KB的内存分配的地方就是0x00~0xBFF

4KB=4096字节换成16进制就是0x1000个地址,如果首地址是0x00的话,那么

1KB的内存分配的地方就是0x00~0xFFF

…………………………………………………………………………

…………………………………………………………………………..

1MB=1024KB=1024*0x400=0x400*0x400=0x100000个地址, 如果首地址是

0x00的话,那么1MB的内存分配的地方就是0x00~0xFFFFF

1GB=1024MB=1024*0x100000=0x400*0x100000=0x40000000个地址, 如

果首地址是0x00的话,那么1GB的内存分配的地方就是0x00~0x3FFFFFFF

验证一下:

0x000000~0x2FFFFF,是多大的内存?

字节数=0x2FFFFF-0x00+1=0x300000字节=3MB=?KB

0x300000除以1024=0x300000/0x400=0x3000/0x4

因为是16进制所以3先乘以16等于48,然后(48+0)/4=12=C

即0x3000/0x4=0xC00,0xC00=12*(16^2)=3*4*(16^2)=3*1024KB=3MB

如果首地址是0x00的话,那么10GB的内存分配的地方是0x00~?

1GB=0x40000000个地址10GB=10*0x40000000=0x280000000

10*4=40。40/16=2……8

0x00~0x27FFFFFFF


发布者:admin,转转请注明出处:http://www.yc00.com/web/1712994830a2162919.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信