具体的方法想必大家都会,详细参见计算机科学导论数字系统章节.在这里我用一个栗子给大家解释一下为什么这样做,方便大家加深理解!
拿十进制转换为二进制来说,假设你有一根绳子,绳子的最小单位用厘米表示,绳子的长度假设就是我们要进行转化为二进制的十进制整数.我们将这根绳子进行对折,每次对折后绳子的长度必须是厘米的整数倍,比方说9厘米对折后只能变成4厘米.剩下的一厘米我们将其截掉.依次类推,直到绳子变为1厘米.
假设我们有一根250厘米的绳子,对折一次后变为125厘米,这里不会截掉,就是0乘以2的零次方.再一次对折后变为62厘米,这里我们截掉的长度是2厘米,也就是1乘以2的1次方,接着绳子长度变为31厘米,且没有截掉,就是0乘以2的2次方,接着变为15厘米,截掉的长度就是1乘以2的3次方…一次类推直到绳子无法再折为止.
这里呢,每次截掉的长度就是我们的余数,想得到余数,大家都知道的方法就是取模.或取余
250%2=0
250 / 2 =125 余0
125 / 2 = 62 余1
62 / 2 = 31 余0
31 / 2 = 15 余1
15 / 2 = 7 余1
7 / 2 = 3 余1
3 / 2 = 1 余1
1 / 2 = 0 余1
于是我们得到相应的二进制序列为 1 1 1 1 1 0 1 0
通过这个对折和截断绳子的方法,想必大家对进制转换有了更加深刻和形象的理解,知其然也能够知其所以然.
十进制整数转化为二进制和十六进制
于 2022-02-20 23:01:33 首次发布