鱼C论坛

 找回密码
 立即注册
查看: 2769|回复: 2

[已解决]我想问下进制转换,谢谢!!

[复制链接]
发表于 2019-1-23 18:57:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想问下为什么要这样子分成168和64,8来计算呢。。 微信截图_20190123185516.png
最佳答案
2019-1-23 20:20:36
本帖最后由 人造人 于 2019-1-23 20:25 编辑

1.png
其实很简单,就是使用了十进制中的一些特殊值
我再举另一个例子
我们来看看十进制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

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-23 20:20:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 人造人 于 2019-1-23 20:25 编辑

1.png
其实很简单,就是使用了十进制中的一些特殊值
我再举另一个例子
我们来看看十进制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

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-24 01:15:52 | 显示全部楼层
人造人 发表于 2019-1-23 20:20
其实很简单,就是使用了十进制中的一些特殊值
我再举另一个例子
我们来看看十进制1234

这样子阿,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 15:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表