怎样将一个数转换成二进制数?

2025-01-22 21:15:27
推荐回答(5个)
回答1:

1、整数部分:

方法:用2辗转相除直到结果为1,将余数和最后的1从下向上的组合,就是我们想要的结果。

2、小数部分:

方法:乘2取整,顺序排列。 

具体做法是:

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。 

扩展资料

二进制数的特性:

1、如果一个二进制数(整型)数的第零位的值是1,那么这个数就是奇数;而如果该位是0,那么这个数就是偶数。

2、如果一个二进制数的低端n位都是零,那么这个数可以被2n整除。

3、如果一个二进制数的第n位是一,而其他各位都是零,那么这个数等于2^n。

4、如果一个二进制数的第零位到第n - 1位都是1,而且其他各位都是0,那么这个数等于2^n - 1。

5、将一个二进制数的所有位左移移位的结果是将该数乘以二。

6、将一个无符号二进制数的所有位右移一位的结果等效于该数除以二(这对有符号数不适用)。余数会被下舍入。

7、将两个n位的二进制数相乘可能会需要2*n位来保存结果。

8、将两个n位的二进制数相加或者相减绝不会需要多于n 1位来保存结果。

9、将一个二进制数的所有位取反(就是将所有的一改为零,所有的零改为一)等效于将该数取负(改变符号)再将结果减一。

10、将任意给定个数的位表示的最大无符号二进制数加一的结果永远是零。

11、零递减(减一)的结果永远是某个给定个数的位表示的最大无符号二进制数。

12、n位可以表示2n个不同的组合。

13、数2年包含n位,所有位都是一。

参考资料

二进制数-百度百科

回答2:

一、十进制转二进制(整数部分)
方法:用2辗转相除直到结果为1,将余数和最后的1从下向上的组合,就是我们想要的结果。

例如:60
60/2 = 30 余 0
30/2 = 15 余 0
15/2 = 7 余 1
7/2 = 3 余 1
3/2 = 1 余 1

所以十进制数60转为二进制数即为 11100

二、十进制小数转换为二进制小数
方法:乘2取整,顺序排列。
具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

例如:0.25
0.25*2 = 0.5 ------------整数部分:0
0.5*2 = 1.0 ------------整数部分:1

所以十进制数0.25转为二进制数即为 0.01

所以十进制数 60.25 转为二进制数即为 11100.01

回答3:

除2取余,然后将余数倒着写
以123为例:
123/2=61……1
61/2=30……1
30/2=15……0
15/2=7……1
7/2=3……1
3/2=1……1
1/2=0……1
于是:结果就是1111011
验证的方法就是将它再变回去,(因为,上标很麻烦啊,所以我用文字)1*2的0次方+1*2的1次方+0*2的平方+1*2的3次方+1*2的4次方+1*2的5次方+1*2的6次方=123
所以……这就是答案啦!!!明白否?!呵呵

回答4:

用除“2”取余法。示例:
123 / 2 =61 余1
61 / 2 =30 余1
30 / 2 =15 余0
15 / 2 =7 余1
7 / 2 =3 余1
3 / 2 =1 余1
1 / 2 =0 余1
然后把余数从下面向上些出来就行了,即1111011

回答5:

123=64+32+16+8+2+1
=2^6+2^5+2^4+2^3+2^1+1
二进制就是1111011
你地 明白 ?