C语言位运算问题

发布网友 发布时间:2022-04-24 04:23

我来回答

2个回答

热心网友 时间:2023-10-27 16:51

是选D
首先要知道c1的二进制是11111111,c2是0
c1右移两位就是00111111,与c2位或就得0011111111,所以c1值变为3f
然后c1是00111111,026为10011110,取位异或得10100001,所以c2值变为a1

热心网友 时间:2023-10-27 16:51

是选D
首先要知道c1的二进制是11111111,c2是0
c1右移两位就是00111111,与c2位或就得0011111111,所以c1值变为3f
然后c1是00111111,026为10011110,取位异或得10100001,所以c2值变为a1

热心网友 时间:2023-10-27 16:52

c1=c2|c1>>2;相当于c1=c2|(c1>>2),即c1先向右移动二位,前二位补零,然后与C2或运算;
c2=c1^0236;0236是八进制算,转换为十六进制是0x8e,然后与C1(C1=3f)异或运算后值赋给C2。

热心网友 时间:2023-10-27 16:52

c1=c2|c1>>2;相当于c1=c2|(c1>>2),即c1先向右移动二位,前二位补零,然后与C2或运算;
c2=c1^0236;0236是八进制算,转换为十六进制是0x8e,然后与C1(C1=3f)异或运算后值赋给C2。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com