下面我们来看一个例子,把79ACh转化成为十进制数。需要牢记在心的就是A和C分别代表10和12。
十进制数转换为十六进制数通常涉及除法运算。我们知道,小于或等于255的数用1个字节就足以表示,也就是两个十六进制数。如何来求出这两个数呢?通常可以用这个数除以16,分别得到商和余数,商作为结果保留,而余数则作为下次运算的除数。我们举一个先前讲过的例子来进一步阐述运算法则:十进制数182,除以16,商为11(在十六进制中表示为B),余数为6,所以它的十六进制为B6h。
如果被转化的十进制数小于65,536,那么就可以使用少于4位的十六进制数来表示。下面给出一个十进制向十六进制数转化的一个模板。
使用时首先把十进制写到左上角的方框里。这个方框代表着第一个被除数,然后除以第一个除数4096,得到的商放到被除数所对应的下面的方框里,而将余数放到被除数右边的方框里。这时将余数作为新的被除数去除以256。利用这个规则,通过反复迭代就可以得到最终结果。下面这幅图向我们展示了十进制数31,148转换成十六进制数的过程。
显而易见,十进制数的10和12代表着十六进制中的A和C,计算得到的最后结果就是 79ACh。
编码—隐匿在计算机软硬件背后的语言
194