代码中的进制书写形式
- 默认为十进制
- 以0开头为八进制
- 以0b或0B开头是二进制
- 以0x或0X开头是十六进制
进制转换
任意进制转十进制
各位上的基数乘以当前数字的进制n次方,n为从零开始当前数字的位数
例如:0x18 转换为十进制 (8*16^0) + (1^16)=24
十进制转任意进制
十进制转换为R进制数,需要将整数部分和小数部分分别转换
-
整数转换
用十进制的整数部分除以R,取其余数作为R进制数的尾部,然后将其商再次除以R,取其余数作为高一位数字,重复操作直至商为零
-
小数转换
十进制数的小数部分乘以R,取乘积的整数部分作为R进制数的尾部,然后将其所得小数部分继续乘以R,取其乘积整数部分作为R进制数高一位的数字,重复操作直至成绩小数部分为零或达到所需精度
二进制数与十六进制数的相互转换
-
四位二进制数恰好有16种组合状态,即一位十六进制数与四位二进制数对应,也就是说1111为0xF,10000为0x10
例如:10100110101转换为十六进制先以四位为分割将数字隔开为0101 0011 0101 然后将其依次转换:0x535
-
十六进制转二进制同理,将每一位转换为四位二进制数
二进制与八进制的相互转换
-
三位二进制数恰好有8种组合,即一位八进制数与三位二进制数对应,也就是说111为7,1000为8
例如:010100110101,首先三位一格:010 100 110 101,然后依次转换:02465
-
八进制转二进制同理,将每一位转换为三位二进制数