二进制
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1] 。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写)
进制转换
十进制转换为二进制
一个十进制整数转换为二进制数采用 "除2取余,逆序排列"法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来
例如 125 转为 二进制
125 / 2 = 62 余 1
62 / 2 = 31 余 0
31 / 2 = 15 余 1
15 / 2 = 7 余 1
7 / 2 = 3 余 1
3 / 2 = 1 余 1
1 / 2 = 0 余 1
余数从低位到高位依此排列:1 1 1 1 1 0 1
二进制转换为十进制
方法:“按权展开求和”。
该方法的具体步骤是先将二迸制的数写成加权系数展开式,而后根据十进制的加法规则进行求和
例如:
# 1 1 1 1 1 0 1
1==>1*2^6
+64
1==>1*2^5
+32
1==>1*2^4
+16
1==>1*2^3
+8
1==>1*2^2
+4
==>*2^1
+
1==>1*2^
+1
=125
Python位运算符
按位运算符是把数字看作二进制来进行计算的。bin()函数可以把数字转为二进制。
Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
领取专属 10元无门槛券
私享最新 技术干货