最小的信息单位:bit 比特、位,简写为b
计算机中存储的最小单位:byte 字节 ,简写为B
1 byte = 8bit(位、比特) 一个字节(Byte)是一个8位的二进制,所以说一个字节为8位即8bit.
1KB=1024B(byte,字节)
比特(bit)是数据的最小单位,但在计算机中数据的存储却是一字节(8bit)来存储的
字节是计算机中存储的最小单位,数据存储是以“字节”(Byte)为单位,
数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制)是最小一级的信息单位。
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节
低 --------------------- 类型转换 ----------------------> 高
byte、short、char -> int -> long -> float -> double
一个字节的取值范围为什么是-128~127呢:
Java中数值的二进制是采用补码的形式表示的。
一个字节有8位,最高位(第一位)是符号位,1代表负数,0代表正数。
所以一个字节:
最小正数二进制是0000 0000=0
最大正数二进制是0111 1111 = 64+32+16+8+4+2+1=127
最大负数二进制是1111 1111 = -1
最小负数二进制是1000 0000→ 反码:1111 1111→ 补码: - {(1+2+4+8+16+32+64)+1} =-(127+1)=-128
8位一共存储2^8=256个数,由于计算机中0没有正负之分,所以存的数值为:-128 —— -1 和 0 —— 127
int取值范围:
int占四个字节,32位
在数字后加一缩写字母后缀作为不同进制数的标识。各种进制数的后缀字母分别为:
B :二进制数。 binary
Q (O):八进制数。 octonary
D :十进制数。 decimal
H :十六进制数。 hexadecimal
对于十进制数通常不加后缀,也即十进制数后的字母 D 可省略。
二进制:以 0b 或 0B 为前缀。int i = 0b10 // 2
八进制:以 0 为前缀。int i = 010 // 8
十进制:int i = 10 // 10
十六进制:以 0x 或 0X 为前缀。 int i = 010 // 16
备注:这里的0是数字0,不是字母O!
一、转成10进制
以小数点为界,整数部分从低位到高位依次是0次方位、1次方位、......、n次方位;小数部分从高位到低位依次是-1次方位、-2次方位、......、-m次方位。都可用加权求和的方式表示。
负平分=正平方的倒数 如:2的负二平方=2的正二平方倒数=1/4=0.25
2进制转10进制
16进制转10进制
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
2AF5换算成10进制
1F3A.4 (16) = A * 16^0 + 3 * 16^1 + F * 16^2 + 1 * 16^3 + 4 * 16^(-1) = 7994.25 (10)
1F3A.4 (16) = 10 + 48 + 3840 + 4096 + 0.25 = 7994.25 (10)
二、十进制转成其他进制
10进制转2进制
整数部分
小数部分
十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。例如十进制的0.125,要转换为二进制的小数。
将小数部分0.125乘以2,得0.25,然后取整数部分0
再将小数部分0.25乘以2,得0.5,然后取整数部分0
再将小数部分0.5乘以2,得1,然后取整数部分1
则得到的二进制的结果就是0.001
10进制转16进制
十进制小数转十六进制,主要是小数部分乘以16,取整数部分依次从左往右放在小数点后,直至小数点后为0
如十进制的0.25
0.25 * 16 = 4.0 所以4为小数位第一个,即十六进制为 0.4