计算机通识 - 进制转换

2022/1/17 6:08:06

本文主要是介绍计算机通识 - 进制转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

计算机通识 - 进制转换

  • 前言
  • 进制定义
    • 二进制
    • 八进制
    • 十进制
    • 十六进制
  • 进制之间的转换
    • 二进制转十进制
    • 二进制转八进制
    • 二进制转十六进制
    • 十进制转二进制
    • 十进制转八进制
    • 十进制转十六进制
    • 八进制转二进制
    • 八进制转十进制
    • 八进制转十六进制
    • 十六进制转二进制
    • 十六进制转八进制
    • 十六进制转十进制
  • 知识巩固

前言

进制转换是软件工程师的必备技能,实际开发中的多媒体数据采集、分割、压缩、编解转码、传输、纠错、合并等工作都与它息息相关。

进制定义

二进制

二进制:是指在数学和数字电路中以2为基数的记数系统,二进制只有0和1两个数字符号,其运算规律是逢2进1,例如101101。

八进制

八进制:一种以8为基数的计数法,采用0,1,2,3,4,5,6,7这八个数字符号,其运算规律是逢8进1,例如57。

十进制

十进制:一种以10为基数的计数法,采用0,1,2,3,4,5,6,7,8,9这十个数字符号,其运算规律是逢10进1,例如99。

十六进制

十六进制:一种以16为基数的计数法,采用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个数字和字母符号,其运算规律是逢16进1,例如1024。

进制之间的转换

二进制转十进制

二进制转十进制:采用位置计数法,其位权是以2为底的幂,顺序从右到左,从0开始计数。例如二进制数 1011(二进制) = 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 = 11(十进制)。

二进制转八进制

二进制转八进制:采用三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位来计算,不足三位的前面补0,例如:10110011B = (0)10 110 011 = 263(八进制)。

二进制转十六进制

二进制转十六进制:采用四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位来计算,不足四位的前面补0,例如:10110011B = 1011 ==0011 = B3(十六进制)。

十进制转二进制

十进制转二进制:整数采用“除2倒取余”,小数采用“乘2取整”。例如十进制数135转换成二进制时,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取,结果为10000111(二进制)。

十进制转八进制

十进制转八进制:和转二进制的方法类似,整数采用“除8倒取余”,小数采用“乘8取整”。例如十进制数10转换成二进制时,将10除以8,得余数,直到不能整除,然后再将余数从下至上倒取,结果为12(八进制)。

十进制转十六进制

十进制转十六进制:思路和转二进制、八进制一样,十进制数25转换成十六进制时,结果为19(十六进制)。

八进制转二进制

八进制转二进制:和二进制转八进制的方法相反,采用三合一法,例如:263(八进制) = 010 110 011(二进制)。

八进制转十进制

八进制转十进制:和二进制转十进制的方法一样,采用位置计数法,其位权是以8为底的幂,顺序从右到左,从0开始计数。例如八进制数 26(八进制) = 2 * 8 1 + 6 * 8 0 = 22(十进制)。

八进制转十六进制

八进制转十六进制:不能直接转换,需要先转成二进制,再将二进制转成十六进制。

十六进制转二进制

十六进制转二进制:和二进制转十六进制的方法相反,采用四合一法,例如:B3(十六进制) = 1011 0011 = 10110011(二进制)。

十六进制转八进制

十六进制转八进制:不能直接转换,需要先转成二进制,再将二进制转成八进制。

十六进制转十进制

十六进制转十进制:和二进制转十进制的方法一样,采用位置计数法,其位权是以16为底的幂,顺序从右到左,从0开始计数。例如十六进制数26(十六进制) = 2 * 16 1 + 6 * 16 0 = 38(十进制)。

知识巩固

  • 1、二进制数10110B与十进制数78D相加,最后再将结果转换为十六进制数,那么这个十六进制数是______H?
    答案:64。
    解析:先按转换方法将二进制数10110B转换为十进制数,1 * 2 4 + 0 * 23 + 1 * 2 2 + 1 * 2 1 + 0 * 2 0 得到22D
    22D + 78D = 100D
    再将十进制数100D转换为对应的十六进制数, 100 / 16 = 6 ······ 4(余数),6 / 16 = ? ······ 6(余数),得到的结果为 64
  • 2、二进制数10010B与十进制数37D相加,最后再将结果转换为十六进制数,那么这个十六进制数是______H?
    答案:37。
    解析:
    先按转换方法将二进制数10010B转换为十进制数,1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0得到18D
    18D + 37D = 55D
    再将十进制数55D转换为对应的十六进制数,55 / 16 = 3 ······7(余数),3 / 16 = ? ······3(余数),得到的结果为 37
  • 3、二进制数111100000001001B转十六进制数的结果是_______H?
    答案:7809。
    解析:
    按四合一法将二进制数111100000001001B转换为十六进制数, 从左往右取1001 = 9,0000 = 0,1000 = 8,0111 = 7,得到的结果为 7809


这篇关于计算机通识 - 进制转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程