【C/C++】错题记录(三)

题目一

题目二

题目三

题目四

题目五


题目六

题目七???

题目八

这道题主要考查对数据类型和位运算的理解与运用。

  1. 分析选项 A:

    • *((unsigned char *)(&number) + 1)=0xcd; 这里将 number 的地址强制转换为 unsigned char* 类型,然后通过指针偏移访问其中的一个字节并赋值为 0xcd
    • 但是这样的操作只会改变 number 的一个字节,无法保证其他字节不受影响,而且也不一定能准确地将 number 的值变为 0xffaacddd
  2. 分析选项 B:

    • number = (number & 0xffff00ff) | 0x00cd00;
    • 首先,number & 0xffff00ff 会将 number 的中间两个字节(第 9 到 16 位)清零。
    • 然后,| 0x00cd00 会将中间两个字节设置为 0xcd
    • 这样可以准确地将 number 的值变为 0xffaacddd
  3. 分析选项 C:

    • number = (number & 0xffee43dd) | 0xbbaacddd;
    • number & 0xffee43dd 会保留 number 中特定的一些位,然后通过 | 0xbbaacddd 将特定位置设置为目标值。
    • 可以实现将 number 的值变为 0xffaacddd
  4. 分析选项 D:

    • number=(number & 0xffccbcff)+0x1100;
    • 这种操作不能准确地将 number 的值变为 0xffaacddd,因为 & 操作和加法操作不能保证得到预期的结果。

综上所述,正确答案是 BC。

相关推荐
njsgcs几秒前
c# solidworks GetPartBox无法获得正确实体边界框原因
开发语言·c#·solidworks
bandaoyu1 分钟前
【CUDA】store/load普通访存 vs 非临时(Non-Temporal)访存
java·开发语言·redis
你刷碗4 分钟前
嵌入式UART printf 数据处理方法
c语言·单片机·嵌入式硬件·arm
music score8 分钟前
google 的C++自动化测试框架详解(Google Test)(2)
c++·qt·lucene
天天进步20159 分钟前
透视 Mission Control 源码:如何构建高性能的 Agent 实时监控架构?
开发语言
apple爱加油9 分钟前
线程相关_线程池原理
开发语言·python
小短腿的代码世界11 分钟前
Qt_Qwt深度解析:从源码到工业级性能优化
开发语言·qt·性能优化
charlie11451419113 分钟前
基于开源项目的现代C++实战——OnceCallback 实战(五):then 链式组合
开发语言·c++·开源
Anastasiozzzz14 分钟前
深入研究Java Agent生态:SpringAI 与 SpringAIAlibaba核心能力、架构演进与全场景对比研究
java·开发语言·架构
Shan120516 分钟前
在C++中尝试封装为函数
开发语言·c++·算法