左移运算,右移运算,按位异或!我的思路是把八进制a 十进制a1转成二进制算得出正确答案按位或运算结果!然后左移和右移我移的是a二进制的位!再把移位后的二进制转八或者转十都得不出正确答案!是我哪里错了?
你的太模糊了,给你一个意思差不多的示例吧。
现在有一个一维整型数组arry[16],里面每一个元素存放的是0或者1,然后一共16位,怎么把这个数组转换成一个16进制的整型数
#include<stdio.h>
char hex[17] = "0123456789ABCDEF";
int main(){
int a[16] = {0}, sum = 1, total = 0, i;
for(i = 0; i < 16; ++i){
scanf("%d", &a[i]);
}
for(i = 0;i < 16; ++i){
if(a[i]){
sum <<= (4-((i+1)%4 ? (i+1)%4 : 4));
total += sum;
sum = 1;
}
if((i+1)%4 == 0){
printf("%c", hex[total]);
sum = 1;
total = 0;
}
}
return 0;
}
太模糊了