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

相关推荐
小牛itbull9 分钟前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
怀澈12211 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
请叫我欧皇i17 分钟前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
闲暇部落20 分钟前
‌Kotlin中的?.和!!主要区别
android·开发语言·kotlin
GIS瞧葩菜29 分钟前
局部修改3dtiles子模型的位置。
开发语言·javascript·ecmascript
chnming198734 分钟前
STL关联式容器之set
开发语言·c++
带多刺的玫瑰37 分钟前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
威桑1 小时前
MinGW 与 MSVC 的区别与联系及相关特性分析
c++·mingw·msvc
熬夜学编程的小王1 小时前
【C++篇】深度解析 C++ List 容器:底层设计与实现揭秘
开发语言·数据结构·c++·stl·list
yigan_Eins1 小时前
【数论】莫比乌斯函数及其反演
c++·经验分享·算法