Day7——进制/原码反码补码/位运算

2019-01-02  本文已影响0人  Devil灬

一、进制

名称 十进制
基数 0,1,2,3,4,5,6,7,8,9
进位 逢10进1
位权 123(10) = 3 * 10 ** 0 + 2 * 10 ** 1 + 1 * 10 ** 2 = 123(10)
转化十进制 int('要转换的数',位权)
名称 二进制
基数 0,1
进位 逢2进1
位权 110(2) = 0 * 2 ** 0 + 1 * 2 ** 1 + 1 * 2 ** 2 = 6(10)
表达式 0b/B + 二进制数
转化二进制 bin(其他进制数)——返回形式为字符串
名称 八进制
基数 0,1,2,3,4,5,6,7
进位 逢8进1
位权 123(8) = 3 * 8 ** 0 + 2 * 8 ** 1 + 1 * 8 ** 2 = 83(10)
表达式 0o/O + 八进制数
转化八进制 oct(其他进制数)——返回形式为字符串
名称 十六进制
基数 0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
进位 逢16进1
位权 123(16) = 3 * 16 ** 0 + 2 * 16 ** 1 + 1 * 16 ** 2 = 291(10)
表达式 0x/X + 十六进制数
转化十六进制 hex(其他进制数)——返回形式为字符串

二、原码反码补码

  1. 原码:(符号位+真值)
    符号位:最高位用0表示正数,1表示负数
    真值:去掉正负数字的二进制
  2. 反码:
    正数的反码:就是原码
    负数的反码:原码的符号位不变,其余的位数取反
  3. 补码:
    正数的补码:还是原码
    负数的补码:反码加1

三、位运算

符号 名称 特点
& 按位与 遇0则0 判断奇偶(num & 1 == 1 —— num是奇数)
| 按位或 遇1则1
~ 按位取反 每一位取反
^ 按位异或 相同为0,不同为1 判断两数是否相等。加密
<< 左移 数字1 << N:数字1左移N位,数字1 * 2 ** N
>> 右移 数字1 >> N:数字1右移N位,数字1 // 2 ** N
上一篇 下一篇

猜你喜欢

热点阅读