计算机系统数位与进制
数制是用一组固定的符号和统一的规则来表示数值的方法,计算机底层使用的数制是二进制,用Java编程使用的是进制,但Java底层仍使用二进制。
十进制
十进制的基本数字0~9,逢十进位
10称为”基数”,权为10^n,(10的n次方)
二进制
二进制的基本数字是0,1,逢2进位
二进制的基数为2,2^n(2的n次方)
1=1×2^0
10=1×2^1
100=1×2^2
1000=1×2^3
10000=1×2^4
100000=1×2^5
1000000=1×2^6
10000000=1×2^7
实例:二进制下的1111等于十进制下的多少?
1×2^3 + 1×2^2 +1×2^1 + 1×2^0=8+4+2+1=15
十六进制
基本数字:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15),字母也可以用小写表示,相当于10-15(已经在括号里表面)
特点:逢十六进位
十六进制是二进制的简写,方便专业人员书写二进制数据
16进制的基数为16,权为16^n(16的n次方)
在Java代码中十六进制数用0X或0x做前缀(0是数字不是字母)
0x1000=1×16^3
0x100=1×16^2
0x10=1×16^1
0x1=1×16^0
实例:
5E的十六进制转换为10进制是多少
5×16^1 + 14×16^0=80+14=94
41的十六进制转换为10进制是多少
4×16^1 + 1×16^0=65
41的十六进制转换为2进制是多少
0100 0001(说明:十六进制的1位数代表二进制的4位数)
二进制转换为十进制
实例:
10110的二进制转换为十进制是多少
1×2^4 +0 +1×2^2 +1×2^1+0=22
二进制转换为十六进制
规律:四位二进制数相当于一位十六进制数
实例:
11010110的二进制转换为十六进制是多少
1×2^3 + 1×2^2+0+1=13 0+1×2^2 + 1×2^1+0=6
此时结果为D6
十进制数转换为二进制
规律:不断除以2,保留余数,商为0时不再除2,所有余数倒序排列
实例:
13的十进制转换为2进制是多少
1101
十进制转换为十六进制
规律:不断除以16,保留余数,商为0时不再除16,将所有余数倒叙排列