进制、位运算

2019-01-02  本文已影响0人  有趣的恶魔QAQ

知识点整理

在计算机中,整数可以通过二进制、八进制、十进制、十六进制来表示

一.进制

程序中如何表示不同进制的数

1.十进制

num = 110 # 程序中十进制直接写
print(num)

2.二进制 (0b+二进制数)

num = 0b1010001
print(num)
print(bin(123)) # 获取123的二进制编码,打印的结果为字符串

3.八进制 (0o+八进制数)

num = 0o1233456
print(num)
print(oct(123)) # 获取123的八进制编码,打印结果为字符串

4.十六进制 (0x+十六进制数)

num = 0x4fa6
print(num)
print(hex(123)) # 获取123的十六进制编码,打印结果为字符串

计算机存储数据存的都是数字数据,而且存的是数字的补码

计算机对数据进行运算的时候是使用补码进行运算,将数据从计算机中读出来看到的是原码

100的原码: 01100100
-100的原码; 11100100

-100的反码:10011011

-100的补码:10011100

二、位运算

运算符:&(按位与)、|(按位或)、~(按位取反)、^(按位异或)、>>(右移)、<<(左移)

应用:判断一个数的奇偶性(如果这个数的二进制的最低位是1就是奇数,否则为偶数)

num % 2 == 0 (num是偶数)传统写法
num & 1 == 0  (num是偶数)
num & 1 == 1 (num是奇数)

1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

~1 = 0
~0 = 1

数字1 << N:数字1左移N位,相当于数字12*N
数字1 >> N:数字1右移N位,相当于数字1//2**N

应用:快速乘2、除以2的多少次方

上一篇 下一篇

猜你喜欢

热点阅读