我要:
111 || 100 ---> 111, not 1
100 && 100 ---> 100, not 1
101 && 010 ---> 000, not 0
损坏的代码
#include <stdio.h>
main(void){
string hexa = 0xff;
strig hexa2 = 0xf1;
// CONVERT TO INT??? cast
int hexa3 = hexa || hexa2;
int hexa4 = hexa && hexa2;
puts(hexa3);
puts(hexa4);
}
最佳答案
您需要按位运算符(|
、&
)而不是逻辑运算符(||
、&&
>):
110 | 011 --> 111
110 & 101 --> 100
至于你的损坏代码,你还有 hexa
和 hexb
的错误类型,它们应该都是数字类型:
int hexa = 0xff;
int hexa2 = 0xf1;
最后,要输出一个整数,您可以使用 printf
来格式化它们:
printf("hexa3 = 0x%08x\n", heaxa3); // display as 8 digit, 0 padded hex
关于c - 逻辑运算后十六进制到bin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2953897/