c语言。请问第10和11题怎么做?
1个回答
展开全部
第十题:先换成二进制:
a = 000110001
b = 000010110
然后一位一位做操作。a^b就是xor,就是如果两个bit相同,结果是零,反之结果是1
所以c = a^b = 000100111
再把二进制换成十进制,c= 32 + 4 + 2 + 1 = 39.
第十一题:和第十题差不多,也是先换二进制,再一位一位做操作。假设x和y都是32位的int,
a = 00000000000000000000000000000010
b = 11111111111111111111111111111101
a&b就是两个都是1结果才是1,a&b就是全是0,因为没有一位是两个都是1的。换成十进制还是0
a = 000110001
b = 000010110
然后一位一位做操作。a^b就是xor,就是如果两个bit相同,结果是零,反之结果是1
所以c = a^b = 000100111
再把二进制换成十进制,c= 32 + 4 + 2 + 1 = 39.
第十一题:和第十题差不多,也是先换二进制,再一位一位做操作。假设x和y都是32位的int,
a = 00000000000000000000000000000010
b = 11111111111111111111111111111101
a&b就是两个都是1结果才是1,a&b就是全是0,因为没有一位是两个都是1的。换成十进制还是0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询