把十进制转换为二进制的三种办法

又是一段殇 2个月前 已收到2个回答 举报

虚构能力 4星

共回答了42个问题采纳率:99.5% 评论

你说有三种办法,但是我所知道的只有两种,可能其他人的回答会进行补充。

第一种:

需要一个辅助的变量。

辅助变量的初始值是1。

将辅助变量一直乘以二,直到下一次乘以二将会大于被转换的十进制为止。

然后一直做一个具有分支的步骤,直到将要被转换的十进制等于零为止。并且每次做完之后再将辅助变量除以二:

如果辅助变量小于或等于将要被转换的十进制,那么把将要被转换的十进制减去辅助变量,然后在写结果的地方最右边写上一个1。

否则就直接把辅助变量除以二,然后在写结果的地方最右边写上一个0。

等到可以跳出刚才那个循环了之后,结果就已经写完了。

第二种办法:

一直把将要被转换的十进制除以二(记得包含余数),然后把余数从右往左写。

直到最后将要被转换的十进制等于零为止。

最后结果就是二进制了。

12小时前

45

这也不会 1星

共回答了188个问题 评论

1/正整数转成二进制:除二取余,然后倒序排列,高位补零。

2/将正的十进制数除以二,得到的商再除以二,依次类推直到商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就行了。还是举例说明吧,比如42转换为二进制,

3/42除以2得到的余数分别为010101,然后咱们倒着排一下,42所对应二进制就是101010

4/计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以,位数不够时,高位补零,42转换成二进制以后就是。00101010,也即规范的写法为(42)10=(00101010)2

11小时前

35
可能相似的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com