二进制、八进制、十进制、十六进制的转换

时间:2024-05-19 07:21:56

二进制

二进制的基数是2,进位规则是“逢二进一”,借位规则是“借一当二”

八进制

八进制,一种以8为基数的计数法,采用0、1、2、3、4、5、6、7八个数字,“逢八进一”,一些编程语言中常常以数字0开始表明该数字是八进制

十进制

十进制是以10为基础数字系统,是世界上应用最广泛的进位制

十六进制

十六进制是一种“逢十六进一”的进位制,一般用数字0~9和字母A到F(或a到f)表示,其中A到F表示10-15

下面举例说明它们之间的转换

  1. 二进制转八进制
    以11001010为例
    首先自右向左补全(每3个二进制数划分为一个区域):011 001 010
    计算:
    011:0* 2^2+1* 2^1+1 *2^0=3
    001:0 *2^2+0 *2^1+1 *2^0=1
    010:0
    *2^2+1 *2^1+0 *2^0=2
    最后11001010转换成八进制的结果就是312

  2. 二进制转十进制
    以11001010为例
    只需要把二进制数按权展开相加即是十进制数
    计算:
    1*2^7+1 *2^6+0 *2^5+0 *2^4+1 *2^3+0 *2^2+1 *2^1+0 *2^0=202
    最后11001010转换成十进制的结果就是202

  3. 二进制转十六进制
    以110010100为例
    与二进制转八进制相似,区别在于补全时十六进制是四位补全:0001 1001 0100
    计算:
    0001:0 *2^3+0 * 2^2+0 * 2^1+1 * 2^0=1
    1001:1 * 2^3+0 * 2^2+0 * 2^1+1 * 2^0=9
    0100:0
    * 2^3+1 * 2^2+0 * 2^1+0 * 2^0=4
    最后110010100转换成十六进制的结果就是194

  4. 八进制转二进制
    以202为例
    分别对2、0、2进行求余运算结果为10、0、10,然后把这三个数从左往右补全:010 000 010
    最后202转换成二进制结果就是10000010

  5. 八进制转十进制
    以226为例
    从右向左依次乘以8的n次幂(n从0开始)
    计算:
    2*8^2+2 *8^1+6 *8^0=150
    最后226转换成十进制结果就是150

  6. 八进制转十六进制
    以202为例
    先将把八进制转成二进制为10000010,再将1000 0010转成十六进制
    计算:
    1000:1*2^3+0 *2^2+0 *2^1+0 *2^0=8
    0010: 0 *2^3+0 *2^2+1 *2^1+0 *2^0=2
    最后202转换成十六进制结果就是82

  7. 十进制转二进制
    以202为例
    对202进行求余运算,结果由下到上读取:11001010
    二进制、八进制、十进制、十六进制的转换
    最后202转换成十六进制结果就是11001010

  8. 十进制转八进制
    以150为例
    对150进行求余计算
    计算:
    150/8=18……6
    18/8=2……2
    2/8=0……2
    最后150转换成八进制结果就是226

  9. 十进制转十六进制
    以150为例
    对150进行求余运算
    计算:
    150/16=9……6
    9/16=0……9
    最后150转换成十六进制结果就是96

  10. 十六进制转二进制
    以12C为例
    分别对1、2、C进行求余
    计算:
    1: 1/2=0……1
    2: 2/2=1……0
    1/2=0……1
    C(12):12/2=6……0
    6/2=3……0
    3/2=1……1
    1/2=0……1
    整合:000100101100
    最后12C转换成二进制的结果就是100101100

  11. 十六进制转八进制
    要先把十六进制转成二进制,再转成八进制或者先把十六进制转成十进制,再转成八进制,转换过程同上

  12. 十六进制转十进制
    以CA为例
    计算:
    12*16^1+10 *16^0=202
    最后CA转换成十进制的结果就是202