============================================================
计算机内部以二进制表示数字及其运算;计算机内的地址等信号一般使用16进制表示;现实生活中使用10进制。
============================================================
进制间的通用表达式:
设进制为r,则任意一个数字n都可以表示为:n=(in-1)*r^n-1+(in-2)*r^n-2+....+i1*r+i0;
其中i%为权值,^表示乘方,*表示乘积,+表示和。
==========================================================
10进制---》“逢10进1,以1当10”;
基本数据:0-9
2进制----》“逢12进1,以1当2”;
基本数据:0-1
16进制---》“逢16进1,以1当16”;
基本数据:0-9 ,A~F
==========================================================
10进制转化成2进制:具体分为2部分。
1,整数部分:有2中方法,一种叫做r取余法,一种叫做减权定位法。我比较喜欢取余法,即:设十进制数为n10,
n10%2=i0,n10/2=rn-1,则i0是2进制0位权值;以此类推rn-1%2=i1,rn-1/2=rn-2。。。。。直到除数为0.
例如:12/2=6 0 ;6/2=3 0; 3/2=1 1; 1/2=0 1;所以12的二进制表示为1100。
2,小数部分:使用乘r取整法。举例说明:
0.1*2=0.2 0; 0.2*2=0.4 0;0.4*2=0.8 0;0.8*2=1.6 1;0.6*2=1.2 1; 0.2*2=.....可以发现这个是取不尽的,故根据需要舍入。假设取小数点后4位即:0001
==========================================================
16进制与2进制间转化比较简单:因为16=2^4,16的所有基数都可以用2进制码表示:
0:0000 | 1:0001 | 2:0010 | 3:0011 |
4:0100 | 5:0101 | 6:0110 | 7:0111 |
8:1000 | 9:1001 | A:1010 | B:1011 |
C:1100 | D:1101 | E:1110 | F:1111 |
转化方法以小数点为界分别向左向右转化即可。。
===========================================================
二进制与8进制转化同理与2进制与16进制的转化。