JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

十进制转换成二进制

wys521 2024-11-20 22:55:49 精选教程 51 ℃ 0 评论

十进制转换成二进制用商除取余法:

商除取余法,就是用一个十进制数除以2得出的最大整数值也就是商,以后都用除以2得出的商继续除以2,一直除到1÷2为止,再依次把每次做除法得到的余数从右到左排列,就是我们想要的二进制了。余数只能出现1或0,不可以出现2

现在必须明白明确的两点:

一:在这里需要转换成二进制的十进制数肯定是一个正整数,那么除以2,每次得到的余数只有两种可能:一个是余1,一个是余0,不会余其它的数字,我们每次做除法的目的就是要得到这个余数,可以理解为:有余记作1,无余0占位。

二:当这个十进制数不管有多么大,除到最后一次必定是1÷2,并且记作1,它就是一个十进制数转换成二进制数的最高位的1。

(另:若是十进制转换三进制用商除余法就是除以3,那么每次除得的余数就有0、1、2三种可能,推算的最高位会出现1÷3或2÷3两种可能,即:1或2。现在会发现十进制转二进制与转三进制的差别了,其它进制以此类推。)

下面拿十进制数字30举例计算反复商除,就是:

30÷2=15……0, 15÷2=7……1, 7÷2=3……1, 3÷2=1……1, 1÷2。再看,相除得到的余数的前四次依次是:0、1、1、1,那么最后一次的1÷2也就是最高位为1,那么从右到左再改变顺序排列,就变成11110,即:30除以2得到的二进制就是11110。

当把二进制11110转换成十进制就拆开来计算变成下面的过程:

11110=10000+1000+100+10=16+8+4+2=30。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表