精华内容
下载资源
问答
  • 二进制转十进制心算大法​mp.weixin.qq.com下面继续讲关于二进制与十六进制间的转换。本系列文章的文末都会放上一个“速记卡”,这是为了方便以后回来快速查找并预览相关知识。1 十六进制下面是十六进制 十进制 二...

    bfe24fd1bebd9a312a601cb3ed48292d.png
    从这篇文章你将了解到什么?
    二进制 八进制 十进制 十六进制 之间的数据转换

    上篇讲了二进制与十进制之间的转换,这是二进制算法思想的基础之一。

    二进制转十进制心算大法mp.weixin.qq.com
    afd1fd58e28e7d44b3318af078521baa.png

    下面继续讲关于二进制与十六进制间的转换。

    本系列文章的文末都会放上一个“速记卡”,这是为了方便以后回来快速查找并预览相关知识。

    1 十六进制

    下面是十六进制 十进制 二进制之间的对应关系表:

    651ec70cae9aa8603d08d5e24f5ddf2b.png

    2 十六进制转二进制

    十六进制转二进制是分两种情况的

    第一种情况,只有个位数的十六进制数:

    十六进制F的二进制是多少?

    解法:

    第一步,先把十六进制转十进制。第二步,把十进制转二进制。

    关于第一步,根据十六进制与十进制的对应表格上,个位数的十六进制转十进制不难。十六进制的F等于十进制的15。而第二步,十进制转二进制,经过上篇文章二进制转十进制心算大法的介绍后,我们可以心算。十进制的15等于二进制的1111。

    第二种情况,两位数及以上的十六进制数:

    十六进制F3的二进制是多少?

    解法:第一步,我们不妨再次画个表格,把十六进制F3按位拆开是F和3:

    87b7ac38c2a5c51bb4c582cfcaccb830.png

    第二步,然后再按位求二进制,把F和3分别用4位二进制表示。

    178c55b7256348559e65cf3ccd8a9436.png

    第三步,最后拼接起来就是 11110011。

    所以十六进制F3的二进制就是11110011。

    为何4位二进制表示1位十六进制?

    从文章开头给出的十六进制与二进制之间的对应关系表可以观察到:十六进制最大的个位数字就是F, 对应的二进制就是 1111,刚刚好是四位二进制范围的最大值。

    什么意思呢?

    如果十六进制的F再进一位就是:F + 1 = 16。十六进制的16已经是两位数了。而二进制的1111再进一位, 则是 1111 + 1 = 1 0000。十六进制的10000已经是五位数了。

    所以正好可以使用4个二进制数表示1个十六进制数。

    3 二进制转十六进制

    下面讨论二进制转十六进制的情况,请看题:

    二进制10101010的十六进制是多少?

    解法

    第一步,先把二进制分成4个一组

    e4eec0402ede26a313d9ba5234c5287a.png

    第二步,分别把4位数的二进制转十进制

    e42b41381305e9d9c4d50fa39e42b63f.png

    第三步,分别把十进制数转十六进制数

    fac6db79c48cd8d168ccafec4853c3cd.png

    第四步,最后把所有个位数的十六进制拼起来, 就是AA。

    所以二进制10101010的十六进制就是AA。

    大家注意到没有,为了方便计算,我们用了十进制做为二进制与十六进制之间互相转换的媒介。

    接下来我们肯定要讲下十进制和十六进制之间的转换了。

    4 十进制转十六进制

    十进制23的十六进制是多少?

    解法:第一步,先把十进制转成二进制第二步,把二进制转成十六进制。

    十进制和十六进制合在一起我们不懂,但是用二进制把他们拆开来,我们就懂了。

    十进制23转成二进制就是 10111。二进制10111转成十六进制, 就是 (0001)(0111) => 17。十进制23的十六进制就是17。

    不管高进制之间怎么转,我们都可以用二进制把他们拉回我们熟悉的层次来。

    5 十六进制转十进制

    十六进制23的十进制是多少?

    解法:第一步,先把十六进制转成二进制第二步,把二进制转成十进制。

    十六进制23转成二进制就是 0010 0011。二进制0010 0011 转成十进制, 就是 (32+2+1) => 35。 所以,十六进制23的十进制就是35。

    我们也可以用公式来验算下:

    8a2138f84faf118b13b1c83a11bf3380.png

    既然前面都讲了这么多进制间的转换,那最后还是简单提提八进制吧。

    6 八进制

    十进制,八进制和二进制的对应关系表:十进制876...八进制1076...二进制1000111110...

    根据这个表,我们正好可以使用3个二进制表示一个八进制位。

    八进制转二进制

    这个和二进制转十六进制的方式是一样的,唯一的差别是我们用3个二进制表示一个八进制位。

    两位数及以上的八进制数:

    八进制52的二进制是多少?

    解法:第一步,画个表格,把八进制52按位拆开是5和2:

    17f13c3418a5f8560db1e581aa153fea.png

    第二步,然后再按位求二进制,把5和2分别用3位二进制表示。

    b7578be730b17c106476de27ec2aedce.png

    第三步,最后拼接起来就是 101010。

    二进制转八进制

    请看题:

    二进制101010的八进制是多少?

    解法

    第一步,先把二进制分成3个一组

    59ff4149205be51c0feb7238535263ab.png

    第二步,分别把3位数的二进制转十进制

    cfaeefd4e7ee301ae181b269e20ed36d.png

    第三步,最后把所有个位数拼起来,就是52。

    现在来验算一下:

    八进制52用公式转成十进制就是十进制42:

    aa994b0a71fc8c53e20fc3ca7bfc34b6.png

    十进制42转成二进制就是101010。

    刚刚好对应上题目的101010。

    十六/十进制与八进制互转

    解法类似十进制与十六进制之间的转换,我们都可以使用2进制作为中转, 这样会省去很多麻烦!

    4 延伸

    你以为结束了?事情没有这么简单!上面讲的只是正整数间的进制转换。如果现在要考虑十进制的负整数转二进制,小数转二进制,我们又应该怎么处理呢?请关注后续更新。

    9bc871ddb512560a1d4e1645d50405ef.png
    展开全文
  • 在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠...

    在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠自己通过公式进行运算了。今天就跟大家分享一下有关进制转换的理论知识,大家可以通过对比从里面发现共同点,这样便于我们理解记忆。

    在进行讲解之前,我们先在下面放置一个对应表,因为在理解下面转换的时候,你可以随时查看该表。

    99238e0a-4213-eb11-8da9-e4434bdf6706.png

    一、 十进制与二进制之间的转换

    (1) 十进制转换为二进制,分为整数部分和小数部分

    ① 整数部分

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

    例:将十进制的168转换为二进制

    得出结果 将十进制的168转换为二进制,(10101000)2

    分析:第一步,将168除以2,商84,余数为0。

    第二步,将商84除以2,商42余数为0。

    第三步,将商42除以2,商21余数为0。

    第四步,将商21除以2,商10余数为1。

    第五步,将商10除以2,商5余数为0。

    第六步,将商5除以2,商2余数为1。

    第七步,将商2除以2,商1余数为0。

    第八步,将商1除以2,商0余数为1。

    第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000

    ② 小数部分

    方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分

    为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例:

    例1:将0.125换算为二进制

    得出结果:将0.125换算为二进制(0.001)2

    分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

    第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

    第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

    第四步,读数,从第一位读起,读到最后一位,即为0.001。

    例2,将0.45转换为二进制(保留到小数点第四位)

    大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

    那么,我们可以得出结果将0.45转换为二进制约等于0.0111

    上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:

    1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换

    2) 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法

    3) 注意他们的读数方向

    因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。

    (2) 二进制转换为十进制 不分整数和小数部分

    方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例

    将二进制数101.101转换为十进制数。

    计算过程:

    (1*2º+0*2¹+1*2²).(1*2⁻¹+0*2⁻²+1*2⁻³)=5.625

    得出结果:(101.101)2=(5.625)10

    大家在做二进制转换成十进制需要注意的是

    1) 要知道二进制每位的权值

    2) 要能求出每位的值

    从最后一位开始算,依次列为第0、1、2...位 (注意是从第0位开始数的,而不是1)

    第n位的数(0或1)乘以2的n次方

    得到的结果相加就是答案

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

    (1)十进制转换为八进制

    十进制转换成八进制有两种方法:

    1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制

    2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:

    ①整数部分

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

    ②小数部分

    方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

    例:将十进制数796.703125转换为八进制数

    解:先将这个数字分为整数部分796和小数部分0.703125

    整数部分

    796除8商99余数4,取4

    99除8商12余数3,取3

    12除8商1余数4,取4

    1除8除不开,取1

    从下往上读,整数部分为:1434

    小数部分

    0.703125*8=5.625 取5

    0.625*8=5 取5

    小数部分从上往下读,为:55

    因此,得到结果十进制796.703125转换八进制为1434.55

    上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样

    (2)八进制转换为十进制

    方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:①将八进制数67.35转换为十进制

    三、十六进制与十进制的转换

    十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。 即把上面对应的8变为16进行运算。

    四、 二进制与八进制之间的转换

    首先,我们需要了解一个数学关系,即2³=8,2⁴=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。

    接着,记住4个数字8、4、2、1(2³=8、2²=4、2¹=2、2º=1)。现在我们来练习二进制与八进制之间的转换。

    (1) 二进制转换为八进制

    方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加(如果熟练了最上面我们分享的表格,我们就可以直接读出对应的数字),得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例

    ①将二进制数101110.101转换为八进制

    从小数点向左每隔三位读取

    二进制110对应6

    二进制101对应5

    所以整数部分是:56

    从小数点向右每隔三位读取

    二进制101对应5

    小数部分为:0.5

    得到结果:将101110.101转换为八进制为56.5

    ② 将二进制数1101.1转换为八进制

    这个就简写了,看看你能看懂了吗?

    101对应5

    001对应1

    100对应4

    得到结果:将1101.1转换为八进制为15.4

    ③再来一个例子(11001.101)(二)

    整数部分: 从后往前每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:

    001=1

    011=3

    然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式

    小数部分: 从前往后每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:

    101=5

    然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.625的八进制形式

    所以:(11001.101)(二)=(31.5)(八)

    (2) 将八进制转换为二进制

    方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数(其实,熟记了表格内的内容后,可以一眼就读出来了),小数点位置照旧。例:

    ① 将八进制数67.54转换为二进制

    6对应110

    7对应111

    5对应101

    4对应100

    因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011

    大家从上面这道题可以看出,计算八进制转换为二进制

    首先,将八进制按照从左到右,每位展开为三位,小数点位置不变

    然后,按每位展开为2²,2¹,2º(即4、2、1)三位去做凑数,即a×2²+ b×2¹ +c×2º=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数

    接着,将每位上转换成二进制数按顺序排列

    最后,就得到了八进制转换成二进制的数字。

    以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是

    1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换

    2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误

    再举个例子吧:(31.5)(八)

    整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    1---->1---->001

    3---->101

    然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式

    说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!

    小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    5---->101

    然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式

    所以:(31.5)(八)=(11001.101)(二)

    五、 二进制与十六进制的转换

    方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解

    (1) 二进制转换为十六进制

    方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

    ①例:将二进制11101001.1011转换为十六进制

    从小数点开始向左取四位读数

    1001对应9

    1110对应16

    整数部分为169,注意了16在16进制中写为E,所以是E9(看上面的表就懂了)

    从小数点开始向右取四位读数

    1011对应11,注意了11在16进制中写为B

    得到结果:将二进制11101001.1011转换为十六进制为E9.B

    ② 例:将101011.101转换为十六进制

    因此得到结果:将二进制101011.101转换为十六进制为2B.A

    (2)将十六进制转换为二进制

    方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

    ①将十六进制6E.2转换为二进制数

    因此得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001

    再举例:

    (19.A)(十六)

    整数部分:从后往前每位按十进制转换成四位二进制数,缺位处用0补充 则有:

    9---->1001

    1---->0001(相当于1)

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

    方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转换。

    如果我们能够熟练记住表格的内容,可以很快捷的进行计算。 要注意,十进制转换为其余三种进制之间,要分为整数部分和小数部分,最后就是小数点的位置。熟能生巧,希望大家多多练习哦。我在我的博客上也发表了这篇文章,并且在下面附上了转换工具,想要练习的朋友,可以用工具直接进行验证哦,点击文章下面的更多可以看到在线工具。


    展开全文
  • 在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠...

    在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠自己通过公式进行运算了。今天就跟大家分享一下有关进制转换的理论知识,大家可以通过对比从里面发现共同点,这样便于我们理解记忆。

    在进行讲解之前,我们先在下面放置一个对应表,因为在理解下面转换的时候,你可以随时查看该表。

    a5b81dfc958573d8a83b462e5dd2aab1.png

    一、 十进制与二进制之间的转换

    (1) 十进制转换为二进制,分为整数部分和小数部分

    ① 整数部分

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

    例:将十进制的168转换为二进制

    得出结果 将十进制的168转换为二进制,(10101000)2

    分析:第一步,将168除以2,商84,余数为0。

    第二步,将商84除以2,商42余数为0。

    第三步,将商42除以2,商21余数为0。

    第四步,将商21除以2,商10余数为1。

    第五步,将商10除以2,商5余数为0。

    第六步,将商5除以2,商2余数为1。

    第七步,将商2除以2,商1余数为0。

    第八步,将商1除以2,商0余数为1。

    第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000

    ② 小数部分

    方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分

    为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例:

    例1:将0.125换算为二进制

    得出结果:将0.125换算为二进制(0.001)2

    分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

    第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

    第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

    第四步,读数,从第一位读起,读到最后一位,即为0.001。

    例2,将0.45转换为二进制(保留到小数点第四位)

    大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

    那么,我们可以得出结果将0.45转换为二进制约等于0.0111

    上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:

    1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换

    2) 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法

    3) 注意他们的读数方向

    因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。

    (2) 二进制转换为十进制 不分整数和小数部分

    方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例

    将二进制数101.101转换为十进制数。

    计算过程:

    (1*2º+0*2¹+1*2²).(1*2⁻¹+0*2⁻²+1*2⁻³)=5.625

    得出结果:(101.101)2=(5.625)10

    大家在做二进制转换成十进制需要注意的是

    1) 要知道二进制每位的权值

    2) 要能求出每位的值

    从最后一位开始算,依次列为第0、1、2...位 (注意是从第0位开始数的,而不是1)

    第n位的数(0或1)乘以2的n次方

    得到的结果相加就是答案

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

    (1)十进制转换为八进制

    十进制转换成八进制有两种方法:

    1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制

    2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:

    ①整数部分

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

    ②小数部分

    方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

    例:将十进制数796.703125转换为八进制数

    解:先将这个数字分为整数部分796和小数部分0.703125

    整数部分

    796除8商99余数4,取4

    99除8商12余数3,取3

    12除8商1余数4,取4

    1除8除不开,取1

    从下往上读,整数部分为:1434

    小数部分

    0.703125*8=5.625 取5

    0.625*8=5 取5

    小数部分从上往下读,为:55

    因此,得到结果十进制796.703125转换八进制为1434.55

    上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样

    (2)八进制转换为十进制

    方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:①将八进制数67.35转换为十进制

    三、十六进制与十进制的转换

    十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。 即把上面对应的8变为16进行运算。

    四、 二进制与八进制之间的转换

    首先,我们需要了解一个数学关系,即2³=8,2⁴=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。

    接着,记住4个数字8、4、2、1(2³=8、2²=4、2¹=2、2º=1)。现在我们来练习二进制与八进制之间的转换。

    (1) 二进制转换为八进制

    方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加(如果熟练了最上面我们分享的表格,我们就可以直接读出对应的数字),得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例

    ①将二进制数101110.101转换为八进制

    从小数点向左每隔三位读取

    二进制110对应6

    二进制101对应5

    所以整数部分是:56

    从小数点向右每隔三位读取

    二进制101对应5

    小数部分为:0.5

    得到结果:将101110.101转换为八进制为56.5

    ② 将二进制数1101.1转换为八进制

    这个就简写了,看看你能看懂了吗?

    101对应5

    001对应1

    100对应4

    得到结果:将1101.1转换为八进制为15.4

    ③再来一个例子(11001.101)(二)

    整数部分: 从后往前每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:

    001=1

    011=3

    然后我们将结果按从下往上的顺序书写就是:31,那么这个31就是二进制11001的八进制形式

    小数部分: 从前往后每三位一组,缺位处有0填补,然后按十进制方法进行转化, 则有:

    101=5

    然后我们将结果部分按从上往下的顺序书写就是:5,那么这个5就是二进制0.625的八进制形式

    所以:(11001.101)(二)=(31.5)(八)

    (2) 将八进制转换为二进制

    方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数(其实,熟记了表格内的内容后,可以一眼就读出来了),小数点位置照旧。例:

    ① 将八进制数67.54转换为二进制

    6对应110

    7对应111

    5对应101

    4对应100

    因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011

    大家从上面这道题可以看出,计算八进制转换为二进制

    首先,将八进制按照从左到右,每位展开为三位,小数点位置不变

    然后,按每位展开为2²,2¹,2º(即4、2、1)三位去做凑数,即a×2²+ b×2¹ +c×2º=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数

    接着,将每位上转换成二进制数按顺序排列

    最后,就得到了八进制转换成二进制的数字。

    以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是

    1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换

    2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误

    再举个例子吧:(31.5)(八)

    整数部分:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    1---->1---->001

    3---->101

    然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式

    说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解了!

    小数部分:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有:

    5---->101

    然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式

    所以:(31.5)(八)=(11001.101)(二)

    五、 二进制与十六进制的转换

    方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解

    (1) 二进制转换为十六进制

    方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

    ①例:将二进制11101001.1011转换为十六进制

    从小数点开始向左取四位读数

    1001对应9

    1110对应16

    整数部分为169,注意了16在16进制中写为E,所以是E9(看上面的表就懂了)

    从小数点开始向右取四位读数

    1011对应11,注意了11在16进制中写为B

    得到结果:将二进制11101001.1011转换为十六进制为E9.B

    ② 例:将101011.101转换为十六进制

    因此得到结果:将二进制101011.101转换为十六进制为2B.A

    (2)将十六进制转换为二进制

    方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

    ①将十六进制6E.2转换为二进制数

    因此得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001

    再举例:

    (19.A)(十六)

    整数部分:从后往前每位按十进制转换成四位二进制数,缺位处用0补充 则有:

    9---->1001

    1---->0001(相当于1)

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

    方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转换。

    如果我们能够熟练记住表格的内容,可以很快捷的进行计算。 要注意,十进制转换为其余三种进制之间,要分为整数部分和小数部分,最后就是小数点的位置。熟能生巧,希望大家多多练习哦。我在我的博客上也发表了这篇文章,并且在下面附上了转换工具,想要练习的朋友,可以用工具直接进行验证哦,点击文章下面的更多可以看到在线工具。


    展开全文
  • 除2取余倒记法:用2连续去除十进制整数,直到商为零为止,然后逆序排列余数,便得到相对应二进制数。例如: 按照除二取余倒记法,十进制整数136的二进制为10001000 二、十进制转换十六进制 常用数制对照如下 ...

    一、十进制转换二进制

    除2取余倒记法:用2连续去除十进制整数,直到商为零为止,然后逆序排列余数,便得到相对应的二进制数。例如:
    在这里插入图片描述

    按照除二取余倒记法,十进制整数136的二进制为10001000

    二、十进制转换十六进制

    常用数制对照表如下
    在这里插入图片描述
    十进制转换为二进制时,除数为2,转换十进制时,除数为16,例如:
    在这里插入图片描述
    十进制整数239对应的十六进制数为(EF)16

    展开全文
  • 1 进制定义进制就是进位制。生活中常见的几种进制:二进制:逢二进一八进制:逢八进一十进制:逢十进一十六进制:逢十六进一举个栗子,比如八进制2 进制...为了方便示意,这里将除法换另一种方式表示:二进制转十...
  • 在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠...
  • 二进制转十进制心算大法​mp.weixin.qq.com下面继续讲关于二进制与十六进制间的转换。本系列文章的文末都会放上一个“速记卡”,这是为了方便以后回来快速查找并预览相关知识。1 十六进制下面是十六进制 十进制 二...
  • 目录十进制、二进制、八进制、十六进制对应表二进制转十进制8421码和十进制之间的对应关系十进制转二进制二进制、十进制互相转换(小数) 十进制、二进制、八进制、十六进制对应表 十进制 二进制 八进制 十六...
  • 我们感兴趣的是二进制对应十进制值一一十进制以10 为基数,我们从幼儿园起就开始使用它了。二进制位按从右向左的顺序排列,每向左移动一位,位值就翻一倍。2-1 列出了半字节和字节中各位代表的十进制值。别忘...
  • 我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持...
  • 二进制的概念 1,2,3,4,5等数字为十进制数字,日常生活所用,但是计算机无法运算,计算机可以运算的数字为二进制...二进制转十进制时,每个数乘以2的n-1次方,为当个数字所在序位(倒序 ) 十转二为不断除以2,计余数..
  • 或者说把任意一个数字按照8位二进制对应的10进制数字展开(就是借用这个概念,不证明正交唯一性啦)。 然后还要注意到一个事实,即前两个基底1+2的和,比下一个基底4小1,同样的,前n个基底的和,总比后一个基底小1....
  • 各个进制对应十进制 251 二进制 11111011 十六进制 fb -5对应的进制转换: 进制 各个进制对应十进制 -5 二进制 11111111111111111111111111111011 十六进制 ff ff ff fb 思考:首先...
  • 1 进制定义进制就是进位制。生活中常见的几种进制:二进制:逢二进一八进制:逢八进一十进制:逢十进一十六进制:逢十六进一举个栗子,比如八进制2 进制...为了方便示意,这里将除法换另一种方式表示:二进制转十...
  • 在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, strtoul 表头文件: #include <stdlib.h> 定义函数...
  • 进制转换

    2018-08-20 21:17:00
    它表达的意思是每一个二进制位上的数据对应一个固定的值,只需要把对应的1位置的数据值相加,即可得到该二进制对应十进制值。 二进制 1 1 1 1 1 1 1 1 十进制 128 64 32 16 8 4 2 1 二进制十进制的转换:...
  • 这段代码的功能是“十进制转换成二进制”,起初的代码有些繁琐,... 2,把得到的这个数对应到所给出的对应表中,则得到了这一位的相应二进制的值  3,要想继续取下一位则需要把该数字右移一位; 实现代码:  pu
  • 二进制、八进制、十六进制对应如下: 二进制转换成八进制:从右向左数,每3位为一位,最后不够三位就往前补0 ...二进制、八进制、十六进制转十进制:可以直接查进制表 十进制转二、八进制...
  • 第1节 ASCII码对照... 1 1.1 ASCII控制字符... 1 1.2 ASCII可显示字符...... 第2节字符的进制转换......2.3 获取字符对应的十六进制字符的第种方法(傻瓜式)... 1 2.4 递归的方法获取字符对应...
  • 方法1:通通把非十进制的转换成十进制,再从十进制转换成其他进制 ...2.具体是二进制 1010100 右对齐十进制表, 该二进制含1的对应十进制数相加,得出十进制结果 3.十进制再转换成X进制 十进制转换成X进制参考...
  • 格雷码自然二进制码相邻数据之间可能存在多个bit的变化,例如自然数7和8对应的4bits自然二进制码分别“0111”、“1000的输出从7变到8时...下给出了4bits自然二进制码、格雷码与十进制整数的对照:1.二进制格...
  • 二进制到X进制的快速转换

    千次阅读 2018-07-24 15:41:25
    只需要把对应的1位置的数据值相加,即可得到该二进制对应十进制的值。 ----------------------------------------------------------------------------------------- 二进制到八进制,十六进制,采用 拆分组...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 278
精华内容 111
关键字:

二进制转十进制对应表