我想问下进制转换,谢谢!!
我想问下为什么要这样子分成168和64,8来计算呢。。{:10_245:} {:10_245:} 本帖最后由 人造人 于 2019-1-23 20:25 编辑其实很简单,就是使用了十进制中的一些特殊值
我再举另一个例子
我们来看看十进制1234
上面那张表是十进制和二进制的对应关系
在这张表中找一个最接近1234的数
是1024
1234比1024大,比2048小,这里找的一定是最接近的
那么第1个数就是1024
继续找第2个数
先将1234-1024得到210
在表中找最接近210的数
是128
那么第2个数就是128
第3个
先将210-128得到82
在表中找最接近82的数
是64
那么第3个数就是64
第4个
先将82-64得到18
在表中找最接近18的数
是16
那么第4个数就是16
第5个
先将18-16得到2
在表中找最接近2的数
最接近2的数就是2,这里的“最接近“可以等于
那么第5个数就是2
第6个?
先将2-2得到0
得到0意味着结束,也就是就有上面那5个,没有第6个了
上面得到的5个数是
1024,128,64,16,2
把这5个数加起来就是1234,因为刚刚是一直做减法得到的这5个数,把这5个数加起来就是1234,这里没有问题吧
1024+128+64+16+2=1234
1024 0000 0100 0000 0000
128 0000 0000 1000 0000
64 0000 0000 0100 0000
16 0000 0000 0001 0000
2 0000 0000 0000 0010
也就是说
1024+128+64+16+2
和
0000 0100 0000 0000+0000 0000 1000 0000+0000 0000 0100 0000+0000 0000 0001 0000+0000 0000 0000 0010
一样,就是把对应的二进制加起来
把这5个二进制数加起来,加法也特别方便
0000 0100 0000 0000
0000 0000 1000 0000
0000 0000 0100 0000
0000 0000 0001 0000
0000 0000 0000 0010
-------------------
0000 0100 1101 0010
这5个二进制数加起来就是0000 0100 1101 0010
如果上面某一列有1,直接挪下来就好了
0000 0100 1101 0010
这就是十进制1234
这就是一个对应关系,这个应该很好理解
再举个例子
十进制4+2=6
二进制0000 0000 0000 0100+0000 0000 0000 0010=0000 0000 0000 0110
6就是0000 0000 0000 0110
这就是一个对应关系,真的很简单呀
自己按照上面的步骤,尝试一下200
人造人 发表于 2019-1-23 20:20
其实很简单,就是使用了十进制中的一些特殊值
我再举另一个例子
我们来看看十进制1234
这样子阿,谢谢{:10_254:}
页:
[1]