美文网首页
常用进制转换

常用进制转换

作者: CarlosLynn | 来源:发表于2023-08-01 17:06 被阅读0次

常用进制

  • 二进制:

    • 1.1 二进制是计算机采用的表示数字的方式, 每个数位上只有0和1;
    • 1.2 任何整数一定可以采用二进制的方式表示, 小数的二进制这里不多说;
    • 1.3 字节内部采用二进制方式记录数字, 一个字节分成八段, 每个分段有一个编号, 最右边分段编号是0, 向左逐渐递增
    • 1.4 相邻分段之间有2倍关系, 某个分段的数字相当于2的编号次方, 如图:

|2⁴ | 2³ | 2² | 2¹ | 2º |

  • 十六进制:

每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15

各个进制的相互转换

  • 二进制转十进制

二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方。
如果首位是0就表示正整数,如果首位是1则表示负整数,正整数可以直接换算,负整数则需要先取反再换算。
因为计算机内部表示数的字节单位是定长的。如8位、16位、32位。所以位数不够时,高位补零。
例如:

  • 将二进制11111111转为十进制计算如下所示:
1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=
128+64+32+16+8+4+2+1=255

结果为:255

  • 将二进制11111110转为十进制计算如下所示:
1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+0*2^0=
128+64+32+16+8+4+2+0=254

结果为:254

  • 将二进制00101010转为十进制计算如下所示:
    (0 * 2的7次方)+(0 * 2的六次方)+(1* 2的五次方)+(0 * 2的四次方)+(1 * 2的三次方)+ (0 * 2 的二次方)+ (1* 2的一次方)+(0 * 2的零次方)
 0  + 0 + 32 + 0 + 8  + 0+ 0+ 2 + 0  = 42

结果为:42

  • 十进制转二进制:

  • 除2取余逆序排列法

它的基本思想是不断将十进制数除以2,每次记录余数,直到商数为0为止。
然后我们将所有余数按相反的顺序排列得到二进制数。
例如:

  • 将十进制数255转换为二进制数,我们可以进行如下的运算:
255 / 2 = 127 余 1
127 / 2 =  63 余 1
 63 / 2 =  31 余 1
 31 / 2 =  15 余 1
 15 / 2 =   7 余 1
  7 / 2 =   3 余 1
  3 / 2 =   1 余 1
  1 / 2 =   0 余 1

然后我们将所有余数按相反的顺序排列,即得到二进制数1111 1111

  • 将十进制数128转换为二进制数,我们可以进行如下的运算:
128 / 2 = 64 余 0
 64 / 2 = 32 余 0
 32 / 2 = 16 余 0
 16 / 2 =  8 余 0
  8 / 2 =  4 余 0
  4 / 2 =  2 余 0
  2 / 2 =  1 余 0
  1 / 2 =  0 余 1

然后我们将所有余数按相反的顺序排列,即得到二进制数1000 0000

  • 将十进制数9转换为二进制数,我们可以进行如下的运算:

  • 将十进制数9转换为二进制数,我们可以进行如下的运算:

9 / 2 = 4 余 1
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1 / 2 = 0 余 1

然后我们将所有余数按相反的顺序排列,即得到二进制数1001
同样的方法可以用于将任意十进制数转换为二进制数。

  • 16进制转10进制:

像10进制数一样,把16进制数看成有个位数,十位数,百位数……
将“个位数”乘上16的0次方(16^0),
将“十位数”乘上16的1次方(
16^1),
将“百位数”乘上16的2次方(*16^2),
最后将所有上面得到的数加起来就是他的十进制数了

例如:
将十六进制的 (10A) 转换成10进制的数

A*1=10
0*16=0
1*16^2=256

所以所得的数为10+0+256=266

将十六进数2AF5转换成10进制的数

5×16º+F×16¹+A×16²+2×16³=10997
也可以用竖式表示:
第0位: 5×16º=5
第1位: F×16¹=240
第2位: A×16²=2560
第3位: 2×16³=8192

将十六进数B2625转换成10进制的数
5×16º+ 2×16¹+ 6×16²+ 2×16³ + 2×16⁴ = 140837.
也可以用竖式表示:

第0位: 5×16º = 5
第1位: 2×16¹ = 32
第2位: 6×16² = 1536
第3位: 2×16³ = 8192
第4位: 2×16⁴ = 131072
  • 10进制转16进制:

这个有点麻烦……将给定的十进制整数除以基数16,余数便是等值的16进制的最低位。
将上一步的商再除以基数16,余数便是等值的16进制数的次低位。
重复上一步骤,直到最后所得的商等于0为止。
各次除得的余数,便是16进制各位的数,
最后一次的余数是最高位
例如:

10进制的 (100) 变为16进制
先把100除以16,得到6余数为4,则“个位数”为4;
用6除以16,得到0余数为6,则“十位数”为6。
所以100的16进制为“64”。

相关文章

  • iOS开发中的进制转换

    进制转换 开发中常用的进制有二进制、十进制、十六进制,此文章旨在说明进制转换的规则、流程;最后用OC写了进制转换的...

  • 各个进制的转换

    各个进制转换成十进制 十进制转换成二进制 二进制转换成八进制 / 十六进制 常用的一些2的幂的值

  • Java 数据类型 类型转换 运算符

    常用的进制二进制八进制十进制十六进制进制之间是可以互相转换的。 进制如何转换 以二进制和十进制进制为例10 -> ...

  • java——进制

    进制转换 10进制十进制(逢10进1)是我们最常用的一种数位进制方式。 10进制和2进制可以相互转换,举例如下: ...

  • 基于C++实现各种进制间的转换

    酷黑窗体风格的VC++进制转换程序,实现大家各种常用进制间的转换,比如十进制转二进制,八进制、十六进制,还包括了任...

  • 计算机常用的进制及相互转换

    计算机常用的进制及相互转换 今日内容 进制由来 生活中常用进制 计算机中的二进制 计算机中四种常用进制的说明 八进...

  • 详细介绍计算机常用进制及相互转换且带例题

    计算机常用进制及进制之间的转换 进制的由来 生活中常用的进制 计算机中的二进制 四种的进制的介绍 八进制和十六进制...

  • 面试-多玩

    笔试题目:1、二进制、八进制、十六进制、十进制之间的转换;2、写出常用的网络协议;3、写出常用的数据库;4、C语言...

  • 无标题文章

    2017-10-17 今天学习了进制之间的转换,常用进制有:二进制,十进制,十六进制,位运算,bit位,byte字...

  • 2020-06-30

    计算机常用进制及进制之间的转换 一.:什么是进制? 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制...

网友评论

      本文标题:常用进制转换

      本文链接:https://www.haomeiwen.com/subject/ckqupdtx.html