计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
- 2进制,用两个阿拉伯数字:0、1;
- 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
- 10进制,用十个阿拉伯数字:0到9;
- 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
- 首先是二进制转八进制
有一个简单方法,就是把二进制的数从右往左,每三位划分一组,不够位数的补0。
即对于ABCDEFG可分为00A、BCD、EFG三组,再分别化为二进制数,最后再组合到一起。
如,对于11001,11001拆分为 001和011,又001=1,011=2+1=3;
那么11001转换为八进制就是31。
- 二进制转十进制
整数二进制转换为十进制:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制。
若二进制补足位数后首位为1时,就需要先取反再换算:例如,11101011,首位为1,那么就先取反吧:-00010100,然后算一下10100对应的十进制为20,所以对应的十进制为-20。
将有小数的二进制转换为十进制时:例如0.1101转换为十进制的方法:将二进制中的四位数分别于下边对应的值相乘后相加得到的值即为换算后的十进制,这样二进制数转换成十进制数的问题就解决了。
正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。
负整数转换成二进制方法:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一。还以42为例,负整数就是-42,如图4所示为方法解释。最后即为:(-42)10=(11010110)2。
小数转换为二进制的方法:对小数点以后的数乘以2,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了。然后把取的整数部分按先后次序排列,就构成了二进制小数部分的序列。
如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起。
- 二进制转十六进制
从右到左 4位一切
eg 100111110110101
左边不满4位的可以用0补满 0100,1111,1011,0101
2进制0000对应16位进制0
0001>>>1
0010>>>2
0011>>>3
0100>>>4
0101>>>5
0110>>>6
0111>>>7
1000>>>8
1001>>>9
1010>>>A
1011>>>B
1100>>>C
1101>>>D
1110>>>E
1111>>>F
所以上面eg中的2进制转为16进制为 4FB5