新手!大神求解析該題!
左移運(yùn)算,右移運(yùn)算,按位異或!我的思路是把八進(jìn)制a 十進(jìn)制a1轉(zhuǎn)成二進(jìn)制算得出正確答案按位或運(yùn)算結(jié)果!然后左移和右移我移的是a二進(jìn)制的位!再把移位后的二進(jìn)制轉(zhuǎn)八或者轉(zhuǎn)十都得不出正確答案!是我哪里錯(cuò)了?
左移運(yùn)算,右移運(yùn)算,按位異或!我的思路是把八進(jìn)制a 十進(jìn)制a1轉(zhuǎn)成二進(jìn)制算得出正確答案按位或運(yùn)算結(jié)果!然后左移和右移我移的是a二進(jìn)制的位!再把移位后的二進(jìn)制轉(zhuǎn)八或者轉(zhuǎn)十都得不出正確答案!是我哪里錯(cuò)了?
2017-02-27
舉報(bào)
2017-04-16
你的太模糊了,給你一個(gè)意思差不多的示例吧。
現(xiàn)在有一個(gè)一維整型數(shù)組arry[16],里面每一個(gè)元素存放的是0或者1,然后一共16位,怎么把這個(gè)數(shù)組轉(zhuǎn)換成一個(gè)16進(jìn)制的整型數(shù)
#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;
}
2017-02-28
太模糊了