计算机中常见的几种进制转换(二进制、十进制、十六进制)


前言

本文主要探讨计算机中常见的几种进制转换(二进制、十进制、十六进制)。


一、各种进制的含义

  • 二进制是一种基数为2的数字系统,使用0和1两个符号表示数字。
  • 十进制是一种基数为10的数字系统,使用0到9这十个符号表示数字。
  • 十六进制是一种基数为16的数字系统,使用0-9和A-F来表示数字,其中A表示10,B表示11,依此类推,F表示15。每一位十六进制数可以对应四位二进制数,如0x10代表八位二进制数00010000,也就是一个字节。

二、二进制和十进制之间的相互转换

2.1 二进制转十进制

将一个二进制数转换为十进制数时,我们可以使用以下步骤:

  1. 从右到左,给二进制数的每一位编号,从0开始。
  2. 每一位上的数值乘以2的该位编号次方。
  3. 将所有结果相加。

举例:将二进制数10111011转换为十进制数:

从最右边开始算起

  • 编号 0 ,数值 1 :1 * 2^0 = 1
  • 编号 1 ,数值 1 :1 * 2^1 = 2
  • 编号 2 ,数值 0 :0 * 2^2 = 0
  • 编号 3 ,数值 1 :1 * 2^3 = 8
  • 编号 4 ,数值 1 :1 * 2^4 = 16
  • 编号 5 ,数值 1 :1 * 2^5 = 32
  • 编号 6 ,数值 0 :0 * 2^6 = 0
  • 编号 7 ,数值 1 :1 * 2^7 = 128

所以二进制数10111011的十进制数为:1 + 2 + 8 + 16 + 32 + 128 = 187

2.2 十进制转二进制

将一个十进制数转换为二进制数时,我们可以使用以下步骤:

  1. 使用短除法,将十进制数反复除2,直到商为0。
  2. 记录每次除法得到的余数。
  3. 将余数按倒序排列,即从最后一个余数到第一个余数。

举例:将十进制数187转换成二进制数

  • 187÷ 2 = 93,余 1
  • 93 ÷ 2 = 46,余 1
  • 46÷ 2 = 23,余 0
  • 23÷ 2 = 11,余 1
  • 11 ÷ 2 = 5,余 1
  • 5 ÷ 2 = 2,余 1
  • 2 ÷ 2 = 1,余 0
  • 1 ÷ 2 = 0,余 1

将余数按倒序排列,所以十进制数187的二进制数为:10111011

总结

  • 二进制转十进制:从右到左,每一位乘以2的对应次方,再将结果相加。
  • 十进制转二进制: 反复除以2直到商为0为止,记录每一次计算的余数,最后再将余数按倒序排列。

三、二进制和十六进制之间的相互转换

3.1 二进制转十六进制

将一个二进制数转换为十六进制数时,我们可以使用以下步骤:

  1. 将二进制数分成每四位一组。不足四位的在左侧用零填补。
  2. 将每组二进制数转换为相应的十六进制数。

举例:将二进制数11001010转换为十六进制数:

  1. 从左到右分组:1100 1010
  2. 将每组二进制数转换为十六进制数:
    - 1100 转换为 C
    - 1010 转换为 A

所以,二进制数11001010的十六进制数为0xCA。

再举个例:将二进制数1100101转换为十六进制数:

不足四位的在最左侧补0,即0110 0101

  1. 从左到右分组:0110 0101
  2. 将每组二进制数转换为十六进制数:
    - 0110 转换为 6
    - 0101 转换为 5

所以,二进制数1100101的十六进制数为0x65。

3.2 十六进制转二进制

将一个十六进制数转换为二进制数时,我们可以使用以下步骤:

  1. 将每一位十六进制数转换为对应的四位二进制数。

举例:将十六进制数0xA5转换为二进制数:

  1. 将每位十六进制数转换为四位二进制数:
    - A 转换为 1010
    - 5 转换为 0101

所以,十六进制数0xA5的二进制数为10100101。

再举个例:将十六进制数0x1F3转换为二进制数:

  1. 将每位十六进制数转换为四位二进制数:
    - 1 转换为 0001
    - F 转换为 1111
    - 3 转换为 0011

所以,十六进制数0x1F3的二进制数为000111110011。

总结

  • 二进制转十六进制:将每四位二进制数转换为一位十六进制数,不足四位的在最左侧补0。
  • 十六进制转二进制:将每一位十六进制数转换为四位二进制数。

四、十进制和十六进制之间的相互转换

4.1 十进制转十六进制

将一个十进制数转换为十六进制数时,我们可以使用以下步骤:

  1. 使用短除法,将十进制数反复除16,直到商为0。
  2. 记录每次除法得到的余数。
  3. 将余数按倒序排列,即从最后一个余数到第一个余数。

举例:将十进制数185转换成十六进制数

  • 185÷ 16 = 11,余 9
  • 11÷ 16= 0,余 11

将余数按倒序排列,所以十进制数185的十六进制数为:0xB9

4.2 十六进制转十进制

将一个十六进制数转换为十进制数时,我们可以使用以下步骤:

  1. 从右到左,给十六进制数的每一位编号,从0开始。
  2. 每一位上的数值乘以16的该位编号次方。
  3. 将所有结果相加。

举例:将十六进制数0xB9转换为十进制数:

从最右边开始算起

  • 编号 0 ,数值 9 :9 * 16^0 = 9
  • 编号 1 ,数值 11 :11 * 16^1 = 176

所以十六进制数0xB9的十进制数为:9 + 176 = 185

总结

  • 十进制转十六进制: 反复除以16直到商为0为止,记录每一次计算的余数,最后再将余数按倒序排列。
  • 十六进制转十进制:从右到左,每一位乘以16的对应次方,再将结果相加。
  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值