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

标签 c bit-manipulation

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

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

换句话说:

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

最佳答案

位移位:

any_unsigned_integer = any_unsigned_integer >> 8 << 8;

关于c - 在 C 中,如何以通用方式设置任意大小的 int 的前八位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65771543/

相关文章:

c# - 您如何随机将整数中的一位归零?

c++ - C++中的十六进制按位运算

java - 如何将这个二进制乘法代码的答案转化为二进制?

c# 对大块位进行按位运算的最快方法

c - 函数返回错误类型的变量时没有编译错误

c - 为什么 printf(char[]) 会生成警告,同时 printf ("asdf") 不会

c - 将 * 作为命令行参数传递

c - 除 gcc 外,我可以使用哪个程序在 Linux 中进行调试?

C# TIFF 位智能检查

c - C中的多维字符串数组