我刚开始,接触程序的时候,最先学的并不是“hello,Word”而是关于数学的基本知识,就是进制转换的问题,在我们的生活中人们常用的是十进制,就是满十进一。而在计算机内部采用的是二进制编码,所以我们必须了解和掌握进制的奥秘。

在我第一次来到培训的机构的时候,老师问我10进制数123转换到8进制是多少,当时我就懵逼了,怎么也算不出来,。现在回想起来这些都是纸老虎而已,当我们掌握了技巧和方法这些问题就迎刃而解了。

常用的几种进制有:二进制,八进制,十进制,十六进制。规则想必大家就都懂,就逢八就进一,逢二就进一

我们先来讨论十进制转二进制,就拿比如123,用123除以2,然后用得到的商再继续除2,每次把余数写出来,记录下来 写成短除法的形式,一直除以2,直到除不尽为止。我们就得到一串0101,然后将得到的余数反着写,像这样

编程进制转换原理(进制转换---编程门槛)(1)

10进制转其他进制也是这样,转8进制,就除以8,转16进制的时候需要注意,16由 0 1 2 3 4 5 6 7 8 9 a b c d e f 组成,10代表a ,11是b, 12是c.

二进制转10进制的话,就乘以2的几次方就行了,比如一个二进制数是101101,那么就从右到左标记,第一个是0,依次是12345,这是我们需要乘以的次方数。然后就开始计算嘛

规则是数值*2的次方,比如是1就1*2的(标记的数)这里是5,那就是1*2的5次方,然后计算下一个数0,0就忽略掉,因为结果是0 ,再计算下一个数1,1*2的3次方 就这样乘下去,然后将结果加起来就是要转换的数。反正要从多少进制转换到10进制,就将底数变成几,比如8转10,就将数值*8的(位置)的次方,。这里提供一下简单的技巧。将二进制转换成8进制可以这样操作:将每3位二进制数转换为1个8进制数,因为2的3次方是8

编程进制转换原理(进制转换---编程门槛)(2)

如果要转16进制的话也可以,那就4个为1位,然后在去读取,这里提供一下各个进制的对应表

编程进制转换原理(进制转换---编程门槛)(3)

基本就是这样了,进制转换也是比较重要的,二进制哪些不用死记,

001 011 110 101 110

第1个位有1代表是1,第二个位有1代表是2,第3个位有1 代表是4,这样看到数字也能读出来了。

,