c - 在 C 中,如何以通用方式设置任意大小的 int 的前八位

如何将任何整数类型的前八位(最低有效位)设置为全零?基本上对任何整数类型与 0x00 进行按位与。

我需要的是适用于任何整数大小的通用解决方案,但不必创建将所有高位设置为 1 的掩码。

换句话说:

0xffff             & 0x00 = 0xff00
0xaabbccddeeffffff & 0x00 = 0xaabbccddeeffff00

最佳答案

位移位:

any_unsigned_integer = any_unsigned_integer >> 8 << 8;

https://stackoverflow.com/questions/65771543/

相关文章:

r - 当 R 数据框中的列等于 1 时如何获取行索引?

c - 为什么我的 C 中的 sin 计算代码返回错误的值?

apache-kafka - 卡夫卡流 : Define multiple Kafka Stream

python - 如何将 seaborn 图保存为 svg 或 png

python - 检查列表与列表理解重叠

python-3.x - 如何更新pyarrow表中的数据?

r - 合并数据帧以使用 plyr 绘制多个时间序列

python - 按值属性对字典进行排序

Python - 在 if 语句的 for 循环中跳出 if 语句

javascript - 基于另一个对象递归更新特定键的嵌套对象值