gpt4 book ai didi

c++:如何翻转int中每个位的二进制值

转载 作者:太空狗 更新时间:2023-10-29 21:14:43 24 4
gpt4 key购买 nike

假设我有一个整数 int a

在 C++ 中,如 int使用 4 字节(32 位)的内存,所有位将被 1 占用的或0的。所以,我想翻转每一位的值。也就是说,每一位中的任何地方都有 1将其转换为 001 .

有没有简单的方法来解决这个问题?

编辑:我也想玩 bool 代数。也就是说,如果我可以执行基本的 bool 运算,如加法、减法等。

最佳答案

您正在寻找二进制非运算符 (~)。

所以

int a = 0x04;
int b = ~a;

b 的值为 1111 1111 1111 1011 而 a 的值为 0000 0000 0000 0100。

wikipediaGNU C有很多关于这些二元运算符的信息。

关于c++:如何翻转int中每个位的二进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40169322/

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