【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。

相关推荐
Humbunklung9 分钟前
unordered_map使用MFC的CString作为键值遇到C2056和C2064错误
c++·stl·mfc
We....11 分钟前
Java分布式编程:RMI机制
java·开发语言·分布式
€81119 分钟前
Java入门级教程17——利用Java SPI机制制作验证码、利用Java RMI机制实现分布式登录验证系统
java·开发语言·java spi机制·远程传输数据
2301_8153577025 分钟前
parameterType和@Param注解的区别
java·开发语言·数据库
tyatyatya31 分钟前
MATLAB中进行视觉检测入门教程
开发语言·matlab·视觉检测
2401_845417451 小时前
set和map
java·开发语言
2301_821046521 小时前
Python的深度学习
开发语言·javascript·ecmascript
小莞尔1 小时前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔1 小时前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
爱编程的化学家1 小时前
代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
数据结构·c++·算法·leetcode·二叉树·代码随想录