gpt4 book ai didi

c - 有没有一种简洁的方法可以在 C 中创建位掩码?

转载 作者:太空狗 更新时间:2023-10-29 15:46:12 27 4
gpt4 key购买 nike

我需要创建三个位掩码,以三个 32 位 unsigned int 结尾(我们称它们为 x、y 和 z)。面具应该像这样结束:

x: 0000 0001 1111 1111 1111 1111 1111 1111
y: 0000 1110 0000 0000 0000 0000 0000 0000
z: 1111 0000 0000 0000 0000 0000 0000 0000

到目前为止我得到了这个:

unsigned int x = (1<<25)-1;
unsigned int y = (~x)&((1<<28)-1);
unsigned int z = (~x)<<3;

但是看起来有点乱。谁能想出更简洁(和可读)的方式?

最佳答案

unsigned int x = 0x01FFFFFF,
y = 0x0E000000,
z = 0xF0000000;

这对你来说可读吗?

关于c - 有没有一种简洁的方法可以在 C 中创建位掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7385456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com