进制间的转换

目录

1.十、二的转换

(1)十 转 二

(2)二 转 十

2.二、八、十六的转换

(1)二 转 八

(2)二 转 十六


1.十、二的转换

(1)十 转 二

        十进制转换成二进制就是一个除以2取余数的过程。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。

以十进制的6转换为二进制为例进行说明,如图1所示。

三次除以2计算得到余数依次是:0、1、1,将所有余数倒序排列是:110。所以十进制的6转换成二进制,结果是110。

(2)二 转 十

        二进制转换成十进制要从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。

以二进制数01100100转换为十进制为例进行说明,转换方式如下:

0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 + 1 * 2^6+ 0 * 2^7 = 100

由于0乘以多少都是0,所以上述表达式也可以简写为:

1 * 2^2 + 1 * 2^5 + 1 * 2^6 = 100

得到的结果100就是二进制数01100100转换后的十进制表现形式。

2.二、八、十六的转换

        编程中之所以要用八进制和十六进制,是因为它们与二进制之间的互相转换很方便,而且它们比一串长的二进制数方便书写和记忆。接下来,就为大家详细介绍如何将二进制转换为八进制和十六进制。*

(1)二 转 八

        二进制转八进制时,首先需要将二进制数自右向左每三位分成一段(不足三位的,在左侧补0),然后将二进制数每段的三位数转为八进制的一位,转换过程中数值的对应关系如表1所示。

表1 二进制和八进制数值对应表

二进制八进制
0000
0011
0102
0113
1004
1015
1106
1117

了解了二进制转八进制的规则,接下来详细讲解如何将一个二进制数00101010转为八进制,具体步骤如下:

1) 每三位分成一段,结果为:000 101 010

2)将每段的数值分别查表替换,结果如下:

000→ 0

101→ 5

010→ 2

3) 将替换的结果进行组合,转换的结果为:052(注意八进制必须以0开头)

(2)二 转 十六

        二进制转十六进制,与转八进制类似,不同的是要将二进制数每四位分成一段(不足四位的,在左侧补0),然后通过查表将二进制数每段的四位数转换为八进制的每一位即可。二进制转十六进制过程中数值的对应关系如表2所示。

表2 二进制和十六进制数值对应表

二进制十六进制二进制十六进制
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F

了解了二进制转十六进制的规则,接下来通过一个例子来学习一下。假设要将一个二进制数10100101转为十六进制,具体步骤如下:

1) 每四位分成一段,结果为:1010 0101

2) 将每段的数值分别查表替换,结果如下:

1010 → A

0101 → 5

3) 将替换的结果进行组合,转换的结果为:0xA5或0XA5(注意十六进制必须以0x或者0X开头)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值