二进制与十六进制之间的转换

1 位十六进制数对应 4 位 二进制数。

记住三个基准数

记住下面的三个基准数的十六进制表示及对应的二进制表示,对这两种进制数之前的快速转换很有帮助。

  • A: 1010
  • C: 1100
  • F: 1111

B 可以通过 A+1得到,即为 1011; D 可以通过 C+1 得到,即为 1101, E 可以通过F-1得到, 即为 1110。

记住这三个基准数后,可以进行快速的转换,例如:

  • 0x39A7F8 --> 0011 1001 1010 0111 1111 1000
  • 1100 1001 0111 1011 --> 0xC97B
  • 0xD5E4C --> 1101 0101 1110 0100 1100
  • 10 0110 1110 0111 1011 0101 --> 0x26E7B5

当值为 2n 时的转换

当 x = 2n 时,x 的二进制表示为 1 后面跟 n 个 0,
当 x 用十六进制表示时,4 个二进制 0 对应一个十六进制 0,
将 n 变换成: n = i + 4j( 1 <= i <= 3 ),那么 x 用十六进制表示时,对应的首位数字是 2i;后面跟j个0。

因此,可以进行如下变换:

x = 29 = 512 = 21+4*2 = 0x200
x = 219 = 524288 = 23+4*4 = 0x80000
16384 = 214 = 22+4*3 = 0x4000
0x10000 = 20+4*4 = 216 = 65536
217 =21+4*4 = 0x20000 = 131072
32 = 25 = 21+4*1 = 0x20
0x80 = 23+4*1 = 27 = 128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值