十进制怎样转二进制?

您所在的位置:网站首页 十进制转二进制教程视频 十进制怎样转二进制?

十进制怎样转二进制?

2023-11-19 18:25| 来源: 网络整理| 查看: 265

目录

学习内容:

方法一:

方法二:

方法三:

学习内容:

十进制转二进制

方法一:

整数部分:除2取余倒排法

例如59:

1.59除以2,商29,余数1

2.29除以2,商14,余数1

3.14除以2,商7,余数0

4.7除以2,商3,余数1

5.3除以2,商1,余数1

6.1除以2,商0,余数1

7. 倒排上面六步的余数即 6->5->4->3->2->1,111011 即 0011 1011

方法二:

这个方法就是记住2的n次幂。

2的n次幂 1286432168421

例如:59

从上表中从左到右,找到比59小的第一个数32,然后从32->1开始算,将他们相加,超过59的不加。

可以找到32 16 8 2 1四个数,然后在我们有相加到的数上面写1,没有的0,如下图

这样就算出来了结果是:0011 1011

方法三:

差额法

比如2022,要除的话比较久,不妨看一下规律:

2^11=2048,超过2022,取前一个数也就是2^10=1024。

根据等比数列求和(高中知识不懂的可以复习下):2^10+2^9+2^8+......+2^1+2^0=2^11-1=2047。(一共11位)

看得出来2022比较接近2047,作差:

2047-2022=25=16(2^4)+8(2^3)+1(2^0)【用方法二】即  000 0001 1001。

也就是说只要这3项(1)变为0,其余8项(均为1)加起来就会等于2022.

所以转换后就变为:111 1110 0110。注意看哦,即上面的16,8,1的位置为0,其余为1就行。

备注:25(也就是作差的数)可以用方法一来求。即11001(5位)。2022前面取1(111111(11-5=6位)),后几位取反(即00110)就可以。

2022转化后就是:111111(6位)拼接00110(取反的5位)=11111100110.。

这个方法的目的就是把目标数(如2022)转化为值小的数(25),减小计算量,然后取反就行。

还可以这样理解:

其实就是取反。假设你有10000块1块的零钱,要你数9858块出来,你直接数9858肯定要很久,所以你可以数10000-9958=42,这样你数42拿出来,剩下的不就时9958吗。 这个差额法就是同理,你先看下你的数离谁比较近。比如2022(相当于9958)离我们常见的2047(相当于10000),这个我们很容易知道二进制是0111 1111 1111(11个1的二进制)所以你可以把2047-2022=25(二进制好求,除数法11001),这样剩下的2022不就是2047(二进制11111111111)-25(二进制11001)吗,按位相减就行。

方法三取自CSDN博主「恭德」原文链接:https://blog.csdn.net/luo_bin2010/article/details/122714718

大家有好的方法也可以提出来,欢迎交流! 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3