(企業面試題1.)輸入乙個位元組內的數(0-255)和移動位數.輸出移位結果(要求迴圈移位)(系統自帶的移位都是非迴圈的)
int number = 0,count = 0;//number
表輸入的數
,count
表示移位數
printf
("please enter two number:");
scanf("%d%d",&number,&count);
unsigned
char a = (char)number;
unsignedcharb = 0;
int x = a>(8-count);
b = x|y;
printf("%u",b);
(企業面試題2.)定義乙個巨集,來實現乙個整數奇偶比特位的交換,例如:6奇偶比特位交換後的結果是9,如何用巨集來實現
#define swatch(n) (n&0x55555555)<<1 |( n&0xaaaaaaaa)>>1
int num = 0;
do while (num<0);
printf("%d",swatch(num));
C語言面試題分類 位運算
1.不用臨時變數交換兩個整數。a a b b a b a a b 2.實現乙個函式,輸入乙個整數,輸出該數二進位制表示中1的個數。例如9的二進位制是1001,則輸出2。int check count fun int number return count int main 錯誤 如下 有符號數會造成...
C語言中的位運算子相關筆試題
由於位運算具有執行效率高且不容易受到資料位數長短的影響,具有較好的移植性,同時,由於位運算都可以直接翻譯為彙編 故 的執行效率往往也比較高,故在嵌入式領域具有廣泛的應用。一 一些面試題 例一 用乙個表示式,判斷乙個數x是否為2的n次方,不用迴圈語句。結果 x x 1 例二 取兩個變數中較大數,不適用...
位運算面試題總結
題目鏈結 題目描述 給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m m會是n中從第i為開始到第j位的子串 樣例n 10000000000 2,m 10101 2,i 2,j 6 返回n 10001010100 2class solution els...