十六进制整数

大的二进制数读起来很麻烦,因此十六进制数字就提供了一种简便的方式来表示二进制数据。十六进制整数中的 1 个数字就表示了 4 位二进制位,两个十六进制数字就能表示一个字节。
 
一个十六进制数字表示的范围是十进制数 0 到 15,所以,用字母 A 到 F 来代表十进制数 10 到 15。
 
下表列出了每个 4 位二进制序列如何转换为十进制和十六进制数值。
 

 

二进制十进制十六进制二进制十进制十六进制
000000100088
000111100199
001022101010A
001133101111B
0100441100 12C
010155110113D
011066111014E
011177111115F

下面的例子说明了二进制数 0001 0110 1010 0111 1001 0100 是如何与十六进制数 16A794 等价的。
 

16A794
000101101010011110010100

无符号十六进制数到十进制的转换

十六进制数中,每一个数字位都代表了 16 的幂。这有助于计算一个十六进制整数的十进制值。假设用下标来对一个包含 4 个数字的十六进制数编号 D3D2D1D0。

下式计算了这个 整数的十进制值:

dec = (D3 X 163) + (D2 X 162) + (D1 X 161) + (D0 x 160)

这个表达式可以推广到任意n位数的十六进制整数:

dec = (Dn-1 X 16n-1)+ (Dn-2 x 16n-2)+…+ (D1 X 161)+ (D0 x 160)

一般情况下,可以通过公式把基数为B的任何n位整数转换为十进制数:

dec = (D n-1 X Bn-1) + (Dn-2 X Bn-2) +…+ (D1 X B1) + (D0 x B0)。

比如,十六进制数1234就等于(1 x 163) + (2 x 162) +(3X161) + (4×160),也就是十进制数 4660。同样,十六进制数 3BA4 等于(3 x 163)+(11 x 162)+(10 x 161)+( 4  x  160),也就是十进制数15 268。
 
下图演示了第二个数转换的计算过程:
 

 十六进制整数

 
下表列出了 16 的幂从160 到167 的十进制数值。

16n十进制值16n十进制值
160116465 536
161161651 048 576
16225616616 777 216
1634096167268 435 456

无符号十进制数到十六进制的转换

无符号十进制整数转换到十六进制数的过程是,把这个十进制数反复除以16,每次取余数作为一个十六进制数字。例如,下表列出了十进制数 422 转换为十六进制的步骤:

除法余数
422/16266
26/161A
1/1601

表中,余数列的数字按照最后一行到第一行的顺序,组合为十六进制的结果。因此本例中,十六进制结果就表示为1A6。同样的算法也适用于《二进制整数》一节中的二进制整数。如果要将十进制数转换为其他进制数,就在计算时把除数(16)换成相应的基数。

推荐学习目录:十六进制整数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值