数据在计算机中以二进制的形式存储,接下来讲解bit(位),byte(字节),K,M的概念。
bit:1bit就是1位,在早期代表电子元件的开关信号,1代表开,0代表关。如图
但是这样能表示的数太少。 所以国际规定以8个bit来表示二进制数据,所以就有下面的情况。
所以1byte=8位,但是这样byte表示是的数值有限(max=127),那比较大的数该怎么表示呢?
这样就可以定义不同的数值了。
这篇文章中暂且不讨论各个数据类型的计算,关于计算问题在《JAVA基础3(原码、反码和补码)》中有阐述。
由于二进制来表示数据的形式有点长,所以又出现了八进制、十进制和十六进制。
二进制:以0b或者0B开头,由0,1组成;
八进制:以0开头,由0,1,2,3.....7组成。
十进制:没有开头,若数值不加前缀,默认是十进制数值。
十六进制:以0x或0X开头,由0,1,2,3,4.....9,a,b,c,d,e,f组成。
下面是各个进制转换十进制计算过程:
总结:图中每个框框里的数字为系数,X进制的X为基数(二进制2为基数,8进制8为基数,十六进制16为基数),而 下标中的数字为权,那么X进制数uvw换算成十进制的算法为:(每个系数)*(基数的权次方),然后相加的和即为十进制的数,即(u*X^2)+(v*X^1)+(w*X^0)。