二进制与十进制转换

Ant大约 3 分钟进制转换

二进制与十进制转换

一、十进制转二进制

方法一:查表累加

位置(n)109876543210
位权 2n21029282726252423222120
十进制数10245122561286432168421

如果需要转换的十进制数在1024以内(包含1024),则在上述十进制数中选择合适的数字进行累加,被选到的十进制数所在位置记为1,未被选到的十进制数所在位置记为0。最后按照从左往后的顺序将0和1的序列写出来,即完成了十进制数向二进制数的转换。

如果需要转换的十进制数大于1024,则继续扩大上表的范围。

【示例】

175=128+32+8+4+2+1

按照规则十进制数128,32,8,4,2,1对应的位置标记为1,其余位置标记为0,则结果为00010101111。

【注意】:在对二进制数的位数没有特殊要求时,二进制数前面的0默认可以省略,省略后的结果为10101111。

_

适用于数值较小的十进制整数转二进制,网络IP地址的数值范围在0-255,熟练使用此方法后可以快速进行IP地址中十进制整数到二进制的转换。

_

方法二:除2取余法

将十进制整数除以2,用得到的商继续除以2,直到商为0,最后将计算过程中得到的所有余数从后向前倒序排列即为十进制整数对应的二进制数。

【示例】

同样计算175的二进制数表示形式.

除2计算余数
175÷2871
87÷2431
43÷2211
21÷2101
10÷250
5÷221
2÷210
1÷201

当商为0时结束计算,然后将计算过程中所得余数倒序排列,即得到175的二进制表示形式10101111。

_

本方法适用于十进制整数转二进制,十进制小数部分的转换不在此进行讨论。有兴趣的同学可以在网上查阅乘2取整法相关内容。

_

二、二进制转十进制

按位权展开法

将二进制中所有的0和1与对应位置的位权相乘,将相乘的结果相加后得到对应的十进制数。

【示例】

10101111转为十进制数

1×27+0×26+1×25+0×24+1×23+1×22+1×21+1×20=128+0+32+0+8+4+2+1=175 \begin{aligned} 1\times2^7+0\times2^6+1\times2^5+0\times2^4+1\times2^3+1\times2^2+1\times2^1+1\times2^0 \\ =128+0+32+0+8+4+2+1 \\ =175 \end{aligned}

Loading...