在数字后面加上不同的字母来表示不同的进位制。B(Binary)表示二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制。例如:(101011)B=(53)O=(43)D=(2B)H

一、八进制 → 十进制

描述:八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。

方法:八进制数从低位到高位(即从右往左)计算,第0位的权值是8的0次方,第1位的权值是8的1次方,第2位的权值是8的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

举例:将八进制的(53)O转换为十进制的步骤如下:

  1. 第0位 3 x 8^0 = 3;

  2. 第1位 5 x 8^1 = 40;

  3. 读数,把结果值相加,3+40=43,即(53)O=(43)D。

二、十进制 → 八进制

方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数

举例:将十进制的(796)D转换为八进制的步骤如下:

  1. 将商796除以8,商99余数为4;

  2. 将商99除以8,商12余数为3;

  3. 将商12除以8,商1余数为4;

  4. 将商1除以8,商0余数为1;

  5. 读数,因为最后一位是经过多次除以8才得到的,因此它是最高位,读数字从最后的余数向前读,1434,即(796)D=(1434)O。

在这里插入图片描述
其他进制之间的转换道理是一样的

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐