我有一个 C 代码,其中有一些 SFR [R/W 1.8] 类型的变量。现在连我自己都不知道这是什么类型了。但我知道这个存储有点。 所以假设有变量: A = 1 B = 0 C = 1 D = 0
现在我想将它们连接起来,将它们变成一个整数。
DC B A = 0 1 0 1 = 5
我想要这样的东西。在 C 语言中如何实现这一点?
谢谢
最佳答案
您可以使用位移位。所以要么像这样:
int answer = 0;
answer = D;
answer = (answer << 1) | C;
answer = (answer << 1) | B;
answer = (answer << 1) | A;
或者:
int answer = (D << 3) | (C << 2) | (B << 1) | A;
关于c - 逐位串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25033620/