很多初学者会对进制存在疑惑 比如为什么在十六进制存储中一个字节是用两个字符来表示?比如用0a表示10 用03就表示3呢?
因为一个字节8个比特(8位),就是8个二进制位
四个二进制数最大表示为15,就是一个16进制数,所以8位可以表示成2个16进制的数!
所以这么理解:一个字节表示8个二进制位 表示2个16进制位
这是从存储的角度来看十六进制
然后比如要把十六进制转换成使十进制
例:2AF5换算成10进制(比如这里的5占了4位 F5就是占了一个字节 所以2AF5占了2个字节)
用竖式计算:
第0位: 5 * 16^0 = 5
第1位: F * 16^1 = 240
第2位: A * 16^2= 2560
第3位: 2 * 16^3 = 8192
直接计算就是:
5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
要区分开来理解