Chinaunix首页 | 论坛 | 博客
  • 博客访问: 79807
  • 博文数量: 18
  • 博客积分: 840
  • 博客等级: 准尉
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-20 11:51
文章分类
文章存档

2010年(5)

2009年(1)

2008年(12)

我的朋友

分类:

2008-04-09 16:12:04

由于常常要对内存地址进行一些计算,有时候觉得用计算器太麻烦,自己简单总结了一下,2进制,16进制,甚至8进制的地址可以
这样心算。
首先我们0x100000可以用16的5次方来表示,而对应的二进制表示为2的20次方,即100000000000000000000,对应的8进制
表示为o 4000000,那么可以用4乘以8的6次方来表示。
也就是说,可以用“x*y的n次方”来表示在y进制下面的x后面n个零表示的数。
好了我们开始心算:
1k=1024=2的10次方
1M=1048576=2的20次方
因为2的3次方=8
       2的4次方=16
那么
10000000000=2的10次方=2的(3*3+1)次方=2*8的3次方,就是在8进制下面用2000来表示1K,不信你去验算。
当然1K=2的10次方=2的(2+4*2)次方=4*16的2次方,就是在16进制下面用400来表示,ok!
再来:
给出16进制的4000表示多大的空间呢?
答:因为4000=4*16的3次方=2的2次方*2的12次方=2的14次方
因为2的10次方表示1K,那么2的14次方则表示16K
同理:4*16的3次方=4*8的4次方,在8进制,16K则可以表示成为40000,不信你去验算。
再来:
给出A0000,那么转换成8进制和2进制是多少呢?
答:因为A0000=A*16的4次方=A*2的16次方=A*2*2的15次方=A*2*8的5次方
又:2A在16进制里面表示20,而20在8进制里面表示24,那么A0000在8进制里面表示为2400000,不信你去验算。
当然,对于二进制而言就是A*2的16次方,而A在二进制里面可以用1010来表示,那么最后A0000在二进制里面表示为
1010 0000 0000 0000 0000
先总结这么多,等用熟了再来。也算原创一篇,收笔。
阅读(3371) | 评论(14) | 转发(0) |
0

上一篇:没有了

下一篇:转载一篇文章,过两天再翻译出来

给主人留下些什么吧!~~

chinaunix网友2009-10-17 09:26:32

tai duo l a

chinaunix网友2009-10-17 09:26:32

tai duo l a

chinaunix网友2009-09-22 18:03:29

有点郁闷

chinaunix网友2009-09-22 18:03:29

有点郁闷

chinaunix网友2009-09-18 12:43:21

ya 谢了