在我们学习的过程中,接触过二进制,八进制,十进制,十六进制,不过这些进制是怎么相互转化的呢?咱们一起来看一下
- 首先,了解一下各个进制,
二进制由0和1组成,
八进制是由0~7组成,
十进制就不用说了,大家都很熟悉,
十六进制呢,是由0~9和abcdef组成滴 - 下面嘞,我们一起来学习一下二进制与八进制,十六进制之间的转换(十进制就略去了,大家应该都不陌生)
比如一个二进制数 001010(10)
二进制数与八进制的相互转化:将每三位二进制数分成一组,例如上面的001010,分开为001 010,就像这个样子,如果前面不足三位数的话就补0即可,咱们看看001 010(就可以知道,这个数字化为八进制数就是12)
二进制数与十六进制的相互转化:将每四位二进制数分成一组,例如上面的001010,分开为0000 1010(前面不足四位数就补0),就可以知道,这位数字化为十六进制为a - 我们看一下十进制整数如何转化为二进制,十六进制
十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。
具体做法是:将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
保留余数,用商继续除以 N,又得到一个新的商和余数;
仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;……
如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。
把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。
例如将42转成二进制数,用42依次除以2,在纸上算一下,可以简单的得到其二进制数为101010
同理,12转十六进制为c,因为12/16=0……12(而12表示c)