HNU计算机系统期中题库详解(五)位运算与逻辑运算

ID: 9542

题目
x=0x66, y=0x39,计算 x && ~y 的字节值

A 0x01

B 0x10

C 0x11

D 0x21

解析

  • 逻辑与 && 的规则:两边非0则为1,否则为0。
  • x=0x66(非0),~y 为字节取反:0x3901000110 → 非0。
  • 两边均非0,结果为逻辑真,即 0x01

答案:A
知识点总结

C语言中逻辑运算符的结果只有1(真)和0(假),非0值视为真。


ID: 9543

题目
x=0x66, y=0x39,计算 !x || !y 的字节值

A 0x11

B 0x00

C 0x01

D 0x10

解析

  • !xx=0x66非0 → !x=0
  • !yy=0x39非0 → !y=0
  • 0 || 0 逻辑或为假,结果为0x00

答案:B
知识点总结

逻辑非!:非0值取反为0,0取反为1;逻辑或||:全0才为0。


ID: 9464

题目
a=01101001, b=01010101,则 a^b=

A 1000100

B 111100

C 1011100

D 1011100

解析

  • 按位异或^:对应位不同为1,相同为0。
  • 01101001 ^ 01010101 = 00111100,即十进制的60,二进制111100

答案:B
知识点总结

按位异或:相同为0,不同为1。


ID: 9465

题目
a=01101001, b=01010101,则 a&b=

A 01000001

B 10110101

C 01011111

D 11011010

解析

  • 按位与&:对应位全1才为1,否则为0。
  • 01101001 & 01010101 = 01000001

答案:A
知识点总结

按位与:全1才为1,有0则为0。


ID: 9476

题目
1100|1010, 1001^1001, 1001&1100 分别为

A 1110 0000 1000

B 1000 1001 1000

C 1110 1001 0101

D 1000 1001 1000

解析

  1. 1100 | 1010(按位或):1110
  2. 1001 ^ 1001(按位异或):0000(相同为0)
  3. 1001 & 1100(按位与):1000
  • 结果依次为1110 0000 1000

答案:A
知识点总结

按位或:有1则为1;按位异或:相同为0;按位与:全1为1。


ID: 9619

题目

C语言中 !!0x41 的结果用十六进制表示为

A 0x00

B 0x41

C 0x14

D 0x01

解析

  • !0x410x41非0 → 取反为0
  • !0:取反为1,即十六进制0x01

答案:D
知识点总结
!!x 等价于逻辑归一:非0值最终为1,0值最终为0。


ID: 9637

题目

结果为0的式子(X为任意非0数)

A X^~X

B X|0xFF

C !X

D ~X

解析

  • A:X~X按位异或结果全1,非0
  • B:X0xFF按位或,低8位全1,非0
  • C:X非0,!X结果为0
  • D:~XX按位取反,非0

答案:C
知识点总结

逻辑非!:非0值取反为0,0取反为1。


ID: 9663

题目
x=0x66, y=0x93,则 ~x | ~y 的值为

A 0xFA

B 0xFD

C 0xFC

D 0xCC

解析

  1. x=0x66 → 二进制01100110~x(字节取反)为100110010x99
  2. y=0x93 → 二进制10010011~y(字节取反)为011011000x6C
  3. 0x99 | 0x6C(按位或):111111010xFD

答案:B
知识点总结

字节取反~:按位取反后,仅保留低8位;按位或:有1则为1。


ID: 9701

题目
x=0x66, y=0x93,则 x|y 的值为

A 0xF6

B 0xF4

C 0xF8

D 0xF7

解析

  • x=0x6601100110
  • y=0x9310010011
  • 01100110 | 10010011 = 111101110xF7

答案:D
知识点总结

按位或:对应位只要有1则为1。


ID: 9702

题目
x=0x66, y=0x93,则 x&&y 的值为

A 0x01

B 0x02

C 0x03

D 0x04

解析

  • x=0x66(非0),y=0x93(非0)
  • 逻辑与&&两边均为真,结果为1,即0x01

答案:A
知识点总结

逻辑与&&:两边非0则为1,否则为0。


ID: 9703

题目
x=0x66, y=0x93,则 x&y 的值为

A 0x03

B 0x04

C 0x02

D 0x03

解析

  • x=0x6601100110
  • y=0x9310010011
  • 01100110 & 10010011 = 000000100x02

答案:C
知识点总结

按位与:对应位全1才为1。


ID: 9572

题目

逻辑运算中结果为0x00的是

A !0x00

B !0x41

C 0x69 && 0x55

D 0x69 || 0x55

解析

  • A:!0x00!0=10x01
  • B:!0x41!非0=00x00
  • C:两边非0,&&结果为1
  • D:两边非0,||结果为1

答案:B
知识点总结

逻辑非!:0取反为1,非0取反为0;逻辑与/或:非0值视为真。


ID: 9439

题目
int x=2; int y=3; x=(x>y)?x>>1:y>>1,执行后x=

A 1

B 2

C 6

D 3

解析

  • 条件判断:x=2>y=3为假,执行y>>1
  • y=3 → 二进制11,右移1位为1(十进制1),x=1

答案:A
知识点总结

三元运算符?::条件为真执行前半部分,为假执行后半部分;右移>>1等价于除以2取整。


ID: 9654

题目

在C语言中,移位运算的优先级比加法(和减法)要高。

A 对

B 错

解析

  • C语言运算符优先级中,+/-(加减)的优先级高于 移位运算符<</>>
  • 因此题目说法错误。

答案:B
知识点总结

运算符优先级:+/- > <</>>


ID: 9607

题目

C语言中,1<<2+3<<4 的结果是

A 52

B 112

C 512

D 2的50次方

解析

  1. 先算加法:2+3=5
  2. 再算移位:1<<5(即1*2^5=32),再32<<4(即32*2^4=32*16=512

答案:C
知识点总结

加减优先级高于移位,因此先算2+3,再按顺序执行移位运算。


ID: 9595

题目

C语言中,~0x41 的结果是

A 0x41

B 0x71

C 0xBE

D 0xFF

解析

  • 0x41的二进制为01000001(8位)
  • 按位取反~后为10111110,即十六进制的0xBE(题目按8位字节取反)。

答案:C
知识点总结
~是按位取反运算符,对每一位取反;若按8位计算,~0x41 = 0xBE

相关推荐
徐新帅2 小时前
4181:【GESP2603七级】拆分
c++·学习·算法·信奥赛
黎梨梨梨_2 小时前
C++入门基础(下)(重载,引用,inline,nullptr)
开发语言·c++·算法
Jasmine_llq2 小时前
《B4411 [GESP202509 二级] 优美的数字》
算法·暴力枚举算法·逐位校验算法·统一数位判断算法·条件计数算法·自定义函数判断算法
做时间的朋友。2 小时前
小华地图寻宝
算法
贾斯汀玛尔斯3 小时前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法
ZPC82103 小时前
ROS2 速度远快于 UDP的完整方案(同机节点)
人工智能·算法·计算机视觉·机器人
khalil10203 小时前
代码随想录算法训练营Day-34动态规划03 | 01背包问题 二维、01背包问题 一维、416. 分割等和子集
数据结构·c++·算法·leetcode·动态规划·背包问题·01背包
华清远见IT开放实验室3 小时前
AI 算法核心知识清单(深度实战版2)
人工智能·深度学习·算法·机器学习·ai·模型训练
点云侠3 小时前
隧道中线提取的优化方法
c++·算法·最小二乘法