计算机中16进制或2进制怎么转10进制?-万能进制转换器

2023-05-12 12:16:45

 

看似FF对应的是255,其实,它被转化为了2,5,5这三个数字

接下来我就来介绍一下满五加三,又有一个学名double dabble算法,接下来的计算步骤均由二进制表示,假设二进制刚开始的8位(可以是任意位,取决于数字本身多少位)是初始区,初始区为0的时候结束

以下的步骤均省略了前缀零,初始区均用特殊符号隔开了

首先要转化的二进制:1111 1111

##1.左移1

1 ♂ 1111 1110

##2.除了初始区外其他每4位就检查一下有没有大于等于5,如果大于等于5,这个区域就+3

1 ♂ 1111 1110

仅有的4位是1,保持不变,继续循环第一步

##3.左移1

11 ♂ 1111 1100

是3小于5(每次左移一次就要比较一次),不用管,继续重复

##4.左移1

111 ♂ 1111 1000

发现是7大于5,那么这个4位就要+3

##5.+3

1010 ♂ 1111 1000

初始区保持不变

##6.左移1

1 0101 ♂ 1111 0000

第一个4位是1,第二个4位是5,需要+3

1 1000 ♂ 1111 0000

##7.左移1

11 0001 ♂ 1110 0000

无事发生

##8.左移1

110 0011 ♂ 1100 0000

6大于5,3小于5,第一个四位需要+3

1001 0011 ♂ 1100 0000

##9.左移1

1 0010 0111 ♂ 1000 0000

该+3的地方+3

1 0010 1010 ♂ 1000 0000

##10.左移1

10 0101 0101 ♂ 0000 0000

至此会发现初始区为0了

然后逐一分解前面的3个8421码就会发现

10 表示 2

101 表示 5

101 表示 5

组合起来刚好就是255

是不是非常的exciting呢(。ò ∀ ó。)

你可以再试试其他更多的数字

~( ̄▽ ̄~)~

补充:关于电路的部分,虽然没学过但是也做过这个算法的mc实现,我就提供思路好了

满五加三要点一个就是满五,一个就是+3

满五就是 二进制数不是0,1,2,3,4

0000

0001

0010

0011

0100

这是0-4的8421码,显然可以分成5个逻辑式然后或门合起来再加个非门,具体简化分析我就不说了,数电有化简的公式

然后是+3,这个就简单了,直接全加器+3毫无问题

然后组合成一个模块,除初始区外每四位就放一个

当然以上仅是从满五加三层面来说的,至于有没有合成的更简单的逻辑式,我就不清楚了,补充回答仅供参考

——来自一位数电菜鸡的回答


以上就是关于《计算机中16进制或2进制怎么转10进制?-万能进制转换器》的全部内容,本文网址:https://www.7ca.cn/baike/32656.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜