关于十进制转换为二进制

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:36:36
在网上看了很多人都说十进制转换为二进制的方法是:用2辗转相除至结果为1,然后将余数和最后的1从下向上倒序写就是结果。我现在的疑问是:一般我们看到的二进制数都是8位,但是用这样的方法算出来的结果,有的是7位,有的是9位,那这样的结果跟8位不符怎么办?又怎么把7位的变成8位,9位的变成8位呢?
请高手或者只要会的都来看看~谢谢啦!!!
注意:我不要编程里的代码,要的是纯粹的数制转换。请自重!
嗯。我明白是什么意思了。谢谢各位,可是只能选一个最佳答案。。。还有一个问题就是:不足8位补0时,这0在哪补?看到有朋友说补在高位,这个高位是最前面吗?如:30转成二进制是11110,才5位,要想成8位是不是这样补:00011110(前面三个0就是补上的)

你现在应该不是学编程 应该是学子网掩码划分吧..
子网掩码其实就是32个2进制组成.分4段.每小段就8位
7位变8位就是 不足8位补0
子网掩码最大是255 划分子网掩码的时候2进制不会到9位的

我也是刚学习.

我只想说,无语, 这和十进制是一样的,总有一个位数,

在计算机内部,最小单元是字节,
每个字节为8位,也就是说,每个字节只能存储8位, 如果超过8位就会溢出

在计算机内部有很多种类型,每种类型都有不同的字节数长度
如Int类型,编译器会以计算机的字长来设定,一般在32位机里,一般会占四个字节。也就是32位,
如果在64位机的话,一般会占8字节,也就是64位,他可以存的数据的大小是
如果是有符号的数,可以存 -2的63次方到 +2的63次方减1
如果无符号的数, 可以存 0到2的64次方减1

这个时候,如果你的计算机出来的结果是9位,则可以前面补0,一直补足32位

然后实际存在在计算机内部的值,却不是你刚才补0后的值,

因为在计算机内部,所有有符号的值都是用补码来存储的,
补码的出现是为了什么。。。。我建议你还是去看看基础的书,知识太多了

数值的表式有,补码,移码,原码,反码

如果你在100后面补上四个0,那不就变成 100万了吗?
在后面补0是会改变大小,那是不行的,所以只能在前面被0,但如果是有符号的,且是用补码保存的话,则就不一定是补什么了,这个,要看具体的数了,看看基础书吧

我说的方法就是——你看下面这个例子:
把十进制数45转换成二进制数,方法就是:

45=1*(2的5次方)+0*(2的4次方)+1*(2的3次方)+1*(2的2次方)+0*(2的1次方)+1*(2的0次方)

所以答案是101101,就是把每项前面的数字排起来,不知道你明白没有。

遇到7位的时候,你就在高位添个0
遇到9位了,不好意思,你算的结果已经超出了8位所能表示的范围,再用8位来表示已无意义。