1. 什么是进制?
进制是 人们为 计算机 规定的一种 进位方式,x进制 是指在运算中逢x进一,即一个数位能表示的最大数字为x-1。二进制中 逢2进1,一个数位的最大数为 2-1 =1, 由0,1组成
八进制中 逢8进1 ,一个数位的最大数为 8-1=7, 由0,1...7组成
十进制中 逢10进1 ,一个数位的最大数为 10-1=9, 由0,1...9组成
十六进制中 逢16进1 ,一个数位的最大数为 16-1=E (10=A,11=B..), 由0,1...a,b,c,d,e组成
生活中的进制: 小时 为 24进制(一天24小时), 分钟 为 60进制,月份 为 12进制等。
2.Java中如何表现不同进制的数?
0b123 用二进制 表示的 123, 修饰符:0b 或 0B
0123 用八进制 表示的 123, 修饰符:0
123 用十进制 表示的 123, 无修饰符,为数据的默认进制
0x123 用十六进制 表示的 123, 修饰符:0x
3.进制间的转换
3.1 x进制 转 十进制 (系数*基数的index次幂的总和)
系数: 数位上的数字
基数: x (进制数)
index: 从右往左数的位置(从0开始)
二进制 转 十进制: 0b123 = 1*2^2 + 2*2^1 + 3*2^0 = 4 + 4 + 3 = 11
八进制 转 十进制: 0123 = 1*8^2 + 2*8^1 + 3*8^0 = 64 + 16 + 3 = 83
十进制 转 十进制: 123 = 1*10^2 + 2*10^1 + 3*10^0 = 100 + 20 + 3 = 123
十六进制 转 十进制: 0x123 = 1*16^2 + 2*16^1 + 3*16^0 = 256 + 32 + 3 = 291
3.2 十进制 转 x进制 (除以基数所得的余数,倒序排列)
基数: x (进制数)
十进制 转 二进制: 100/2 所得余数为: 0,0,1,0,0,1,1, 倒叙排列为: 1100100
十进制 转 八进制: 100/8 所得余数为:4,4,1, 倒叙排列为: 144
十进制 转 十进制: 100/10 所得余数为:0,0,1, 倒叙排列为: 100
十进制 转 十六进制: 100/16 所得余数为:4,6 倒叙排列为: 64
4.原码、反码和补码
原码: 二进制的 定点表示法, 最高位为符号位。
1 0001100 -12
0 0001100 +12
注意: 相加不为0,是因为计算机在运算时 是按照 补码 去运算的。
反码: 正数的反码与原码相同 0 0001100。 负数为: 符号位不变,其余按位取反: 1 1110011
补码: 正数补码与原码相同 0 0001100。负数为: 符号位不变,在反码末位上加1 : 1 1110100
注意: 正数的 原、反、补 均相同
5.数据类型(4类8种)
整数型:
byte 占1个字节, -127 ~ 128
short 占2个字节, -2^15 ~ 2^15
int 占4个字节, -2^31 ~ 2^31
long 占8个字节, -2^63 ~ 2^63
浮点型:
float 占4个字节, -3.403E38 ~ 3.403E38 ,单精度
double 占8个字节, -1.798E108 ~ 1.798E108,双精度
字符型:
char 占2个字节,0~65535
布尔型:
boolean
网友评论