python位运算。

&:按位运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。

|:按位运算符:只要对应的二个二进位有一个为1时,结果位就为1。

^:按位异或运算符:当两对应的二进位相异时,结果为1。

~:按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。

<<左移动运算符:运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,高位丢弃,低位补0。

>>右移动运算符:把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数。

>>> a = 60            # 60 = 0011 1100 
>>> b = 13            # 13 = 0000 1101 
>>> c = 0
# 按位与运算符
>>> c = a & b         # 12 = 0000 1100
>>> c
12

# 按位或运算符
>>> c = a | b         # 61 = 0011 1101 
>>> c
61

>>> c = a ^ b         # 49 = 0011 0001

>>> c = ~a;           # -61 = 1100 0011

>>> c = a << 2;       # 240 = 1111 0000

>>> c = a >> 2;       # 15 = 0000 1111
### Python位运算与十六进制的操作 #### 位运算概述 Python 支持多种位运算符,包括按位与 (`&amp;`)、按位或 (`|`)、按位非 (`~`) 和按位异或 (`^`)[^1]。 #### 十六进制转换 字符可以使用 `ord()` 函数获得其对应的 Unicode 编码,再利用 `hex()` 函数将其转换为十六进制字符串。例如,字符 &#39;a&#39; 可以被转换成十六进制表示 0x61[^2]。 对于整数到十六进制的转换,可以直接调用 `hex()` 函数;而对于二进制串,则先要解析回整数之后才能进一步处理[^4]。 #### 负数的二进制表示 当涉及到负数时,在 Python 中使用 `bin()` 函数会得到带有符号前缀的结果。为了正确显示无符号形式下的补码表达,通常需要应用掩码(masking)技术来截取特定宽度内的有效比特位[^3]。 下面是一些具体的例子: ```python # 将字符&#39;a&#39;转为十六进制 char_a_hex = hex(ord(&#39;a&#39;)) print(f&quot;Character &#39;a&#39; to hexadecimal is {char_a_hex}&quot;) # 正常正数的二进制和十六进制展示 num_positive = 15 binary_pos = bin(num_positive) hexadecimal_pos = hex(num_positive) print(f&quot;The number {num_positive} in binary is {binary_pos}, and in hexadecimal is {hexadecimal_pos}&quot;) # 处理负数并查看其二进制补码形式 negative_num = -3 masked_negative_bin = bin(negative_num &amp; 0xffffffff) print(f&quot;Negative number {-3}&#39;s unsigned binary representation with masking is {masked_negative_bin}&quot;) ``` 上述代码片段展示了如何在 Python 中执行基本的位运算以及不同进制间的相互转换方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值