我尝试多次打印各种整数(即int | int),但似乎无法建立值的工作模式。 1 | 2如何返回3,而2 | 3也返回3?
答案 0 :(得分:1)
选中wikipedia。
按位“或”取两个长度相等的位模式并执行 对每对对应位进行逻辑“或”运算。的 如果两个位均为0,则每个位置的结果为0,否则, 结果是1。
所以[0-9a-zA-Z_]
和1|2: 001 | 010 = 011 (3 dec)
答案 1 :(得分:1)
Python中的按位运算符的工作方式与其他语言相同。因此,如果您知道它在C中的工作方式,那么您就会知道它在Python中的工作方式。对于此特定示例,$('#send_form').click(function(){
var selected =$('#profile_select').val();
var token=$('#token').val();
$.ajax({
url:"{{ base_url }}myurl/encuestas/perfil_interna",
method:"post",
data:{
selected:selected,
_token:token
}
}).done(function(response){
console.log(response);
}).fail(function(err){
console.log(err);
});
用二进制1
表示,0001
用2
表示。运算符OR(0010
)在相同位置的两个数字 中查看每个位并进行比较。如果 any 位为1,则它将1保留在结果的那个位置:
|
因此,结果(二进制格式)为1: | 2: result:
----------------
0 or 0 = 0
0 or 0 = 0
0 or 1 = 1
1 or 0 = 1
,或者以10为底的0011
。
答案 2 :(得分:0)
0001 = 1 0010 = 2所以0001 | 0010 = 0011 =3。0010 | 0011 = 0011 = 3。 |是“或”运算。
答案 3 :(得分:0)
x | y 执行“按位或”。如果y的x AND的对应位为0,则输出的每个位均为0,否则为1。 https://wiki.python.org/moin/BitwiseOperators
在您的示例中,用bin()
函数查看整数的位表示很有用:
>>> bin(1), bin(2), bin(3)
('0b1', '0b10', '0b11')
所以1是01,2是10,3是11。因此按位OR运算符从右到左应用于每对位,如下:1 | 2是01 | 10 = 11,2 | 3是10 | 11 = 11 (0或1表示1,1或1表示1)