进制转换里面最简单的就是十进制和二进制之间的转换了,话不多说,我们先来对十进制的60转换成二进制,其实,他就是一个除2的运算过程,我们来看:
余0
余0
余1
余1
余1
余1
那么60的二进制表示则是111100,就把上面的余数顺时针旋转九十度就ok了,这是最简便的方法了。熟练一点口算就可以。
然后我们把二级制的60转换成十进制的60,其实就是对二进行幂运算,come on:
十进制: 1 1 1 1 0 0
幂运算:1*2(5) 1*2(4) 1*2(3) 1*2(2) 0*2(1) 0*2(0)
注意,括号里面是多少多少次方,比如1*2(5)就是1乘以2的5次方。
然后我们把这些乘数相加32+16+8+4+0+0=60,得到结果,到这里,你是不是也觉得二进制和十进制之间转换非常的简单呢?对的,你的感觉是对的。
那么负数(-60)又是如何进行转换呢?其实就是对60的二进制数取反后加1,取反?其实就是0变成1,1变成0,我们来看:
取反后:000011
取反后加1:000011+000001=000100
那么-60的二进制就是000100
后来你是不是又感到一阵阵的迷惑呢?为什么经常看见计算机里面表示60或者别的二进制数都不那么简单呢?
比如60的二进制它这么写:0000 0000 0000 0000 0000 0000 0011 1100
-60的二进制表示就是: 1111 1111 1111 1111 1111 1111 1100 0100
你是不是吓尿了?这么长一大段!没关系,上个厕所就能解决。
上完厕所之后,我们发现这一串0和1总共有32位,这个32怎么跟我们平时听到的32位操作系统或windows这么巧合呢?没错,他们的确有着密不可分的关系。其实如果是64位操作系统,那么你还应该在前面加行32个0,如果是16位操作系统,那么就得把前面的16个0去掉,这是为什么呢?具体的我我也不太了解,引用百度知道里面的一段话你就懂了:
32位的知识点:
最开始的计算机是8位的,也就是内存和CPU的数据线有8条,同时用有电表示该位(线)为1或者没电表示该位(线)为0,一次传送最多8根线,就是8个位,二进制写成:00000000八个位置。有电用1,没电用0,是最基础的模式,最小表示0,最大表示255,后来发现一次8位的传送非常的慢遇到超过255时,就得传第二次,不如用16根线,一次传16位,最小0最大65535,这样效率高很多,再后来16位也不够用,就升级到32位了。现在倡导的64位操作系统就是必须运行在64位cpu上的系统程序。但目前百分之90的计算机还是32位的,因此32位最常用,效率相对较高。
你懂了,你懂的!