P1=0xfe;P1=(~P1)|(P1<<1);的结果是多少

2024-12-19 13:19:16
推荐回答(2个)
回答1:

P1=0xfe(十六进制数);
↓ ↑相等
P1=11111110(二进制数);
取反就是0变成1,1变成0,那么,
P1=11111110
~P1=00000001
P1<<1,符号<<是左移位运算,后面的常数就是要左移多少位,
左移1位后,移出的高位丢弃,移进来一个未知的数补0;那么
P1=11111110
<< 移位后 P1=11111100
~ (取反) P1=00000001
| (或)运算 P1=11111101 //或预算相当于两个数相加
↓ ↑相等
P1=0xfd

回答2:

P1=(~P1)|(P1<<1) =>P1 = (~0xfe)|(0xfe<<1) =>P1 =0XFD