c - 用无符号整数中的另一个字节替换第 n 个字节

标签 c

我想用b替换a的字节。

unsigned int a = 0x12dc4430;
unsigned char b = 0xcb;

如何用 b 替换 a 的第 1 个和第 3 个字节?

像这样: 对于第一个有效字节

12dc33cb

第三个有效字节

12cb4430 

最佳答案

不确定“第一个和第三个字节”是什么意思,但假设您指的是最重要的字节和第三个最重要的字节:

unsigned int a = 0x12dc4430;
unsigned char b = 0xcb;
a = (a & 0x00ff00ff) | (b << 8) | (b << 24);
printf("%x\n", a);

打印 cbdccb30

关于c - 用无符号整数中的另一个字节替换第 n 个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42358004/

相关文章:

C 中的自定义命令行参数

c++ - 在 C++ 文件中使用 C 枚举

Python subprocess.communicate() 不捕获简单二进制文件的输出

c - 将 1 添加到填充为 0 的二进制表示形式

c - 是否可以应用抗锯齿/其他功能来更好地绘制拉伸(stretch)的 TIcon?

c - C 中函数读取文件的意外行为

c - C 中的 switch 语句

c - 为什么模运算符不扩展到除整数类型之外的其他数据类型?

c - 求数组中两个数的平方和

c - 无条件等待互斥体