今天被给到一段代码,数字全部是十六进制,学习一下。
0x开头就是十六进制,0开头由0~7组成是八进制。
十六进制转换十进制:
末尾从16^0次方开始,每一位数字乘以16的位数次方。
其中a=10 b=11 c=12 d=13 e=14 f=15
十六进制 | 1 | 2 | 3 | 4 | A |
十进制 | 1*16^4 | 2*16^3 | 3*16^2 | 4*16^1 | 10*16^0 |
0x1234A= 1*16^4+2*16^3+3*16^2+4*16^1+10*16^0=74570
十进制转换十六进制:
短除法,余数为十六进制数字表达(10~15转化为字母),商继续除以16,直到商等于0为止。
74570/16=4660...10; 10->A
4660/16=291...4;
291/16=18...3;
18/16=1...2;
1/16=0...1;
74570->0x1234A