记住一些简单的规律,对以后的学习会有帮助的:
比如 11(2) == 2^2-1(10), 111(2)== 2^3-1(10),1111(2)== 2^4-1(10),11111111(2)== 2^8-1(10)
又比如 1111(2)== F(16),11111111(2)== FF(16)
注1:小括号的2表示进制的意思,即2代表二进制
注2:括号中 ^ 代表幂(次方)的意思,2^3即是2的3次幂
像一些进制之间的转换,我相信大家都不会陌生,我再讲一讲关于二进制(补码)转换为十进制的小方法吧,便于大家记忆。
二进制(补码)-〉十进制
我们都知道转换有无符号数和有符号数,无符号数按照以前的进制转换就可以了,如果是有符号数,转换就不是那么简单了。。。。。
对于有符号数(补码)来说:
如果符号位为0,表示该数为正数,转换和无符号数是一样的;
如果符号位为1,表示该数为负数,此时符号位的位权不变,但该位的权值应该乘以-1得到。
举个例子,将有符号数0011 1100转换为十进制数,与无符号数的做法是一样的:
0*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0
= 32 + 16 + 8 + 4
= 60
然后如果符号位为1,表示这是一个负数,比如1011 1100那么只要将符号位的权值乘以-1即可得到:
-1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0
= -128 + 32 + 16 + 8 + 4
= -68
再举个极端的例子,例如1000 0000:
-1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0
= -128
现在知道1000 0000为什么等于-128了吧!
十进制-〉二进制
从十进制数转换到二进制数,我们可以利用辗转相除法,当然如果你足够熟练的话,对于简单的十进制数,你会一目了然。
辗转相除不是取它的最大公约数,而是其余数。切记,切记。
即将待转换的十进制数不断地除以2,直到商为0,将每次得到的余数倒序拼凑起来,便是对应的二进制数。
好吧,NO pic you say a J8:
二进制数和十六进制之间的相互转换
他们之间的转换你只需要记住下面的表格就行了:
如果你遇到的二进制数有很多,从右往左,每四个为一组,查上表(时间长了,你就自然而然的熟了)
不过还有一种更简单的方法,那就是利用windows自带的计算器,点击开始菜单-〉附件-〉计算器或者直接windows+R键,输入calc;
左侧选择进制数,然后输入你要转换的数字: