r进制转十进制
类比对十进制的含义,可以很容易把r进制转换为十进制。
十进制:
r进制:
除十进制外,其他进制在书写的时候要说明其进制或加对应后缀。
- 二进制。后缀B,例如1010B。
- 八进制。后缀O,例如753O。
- 十六进制。后缀H,例如4D3H。
十进制转r进制
十进制转r进制相当对上述r进制转十进制的公式做逆运算。
对于整数部分
可见,只需逐次除r,每次的余数就是r进制数。
对于小数部分
可见,只需逐次乘r,每次的整数部分就是r进制数。
对于分数
移位运算
100右移2位,为1,相当于除以
100左移1位,为1000,相当于乘以
对比10进制的移位,可以很容易得出r进制的移位规则:
右移n位相当于
左移n位相当于
在计算机中,有时机器码的最高位代表符号,所以按照是否考虑符号位分为两种移位:
算术移位:考虑符号位,符号位不参与移位。
逻辑移位:视作无符号数,全部移位。
算术移位时,负数的补码右移填1,负数的反码左移右移都填1.
c语言中,有符号数进行算术移位,无符号数逻辑移位,浮点数不能移位。