奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 195 页

PDF 物理页索引 211 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
195
PDF 物理页
211(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
397d9d46b9a3f86469e17b5ac1141c60c4bf6fccb316559a889af032479ad8fb

这个方法存在一个小小的问题,那就是如果使用计算器帮助你进行除法运算,它不会显示每步运算得到的余数是多少。如果让计算器去运算31,148除以4096,它的屏幕上只会出现7.6044921875。我们可以用倒推的方法计算余数,用4096乘以7(得到28,672),从31,148中减去它,这是一种办法。也可以用4096乘以0.6044921875,也就是计算器运算结果的小数部分(现在市面上很多计算器已经具备了十进制和十六进制数之间的转换功能)。

还有一种转换小于65,535的十六进制数的方法,首先我们把原数通过除以256的方式将其分为两个字节。接下来对于每个字节,再分别除以16。下图是运算过程使用到的模板。

我们采用自顶向下的方式。每一次除法完成后,就将其得到的商放入除数左下方的方框里,而余数进入右边的方框里。下图举例说明了十进制数51,966的转换过程。

最后我们得到了四个1位的十六进制数字,其十进制值分别是12、10、15和14,转换过来就是CAFE,无论怎么看它都更像一个单词,很难想象它其实是一个数字(我想应该没人愿意点一杯叫做56,495的东西,然后把它当作咖啡喝下去吧)!

对于每种计数系统,我们都可以描绘出相应的操作运算表,下面是十六进制的加法运算表。

15 字节与十六进制

195