1.
一組資料中只有乙個數字出現了一次。
其他所有數字都是成對出現的。請找出這個數字。(使用位運算)
分析:要找出一組資料中單獨的數,就將陣列中的每個數全都取異或運算。
程式如下:
#include#includeint main()
; int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 1; i < sz; i++)
printf("the single number is:%d", arr[0]);
system("pause");
return 0;
}
2..不使用(a+b)/2這種方式,求兩個數的平均值。
分析:將某個數的二進位制形式右移一位相當於該數除以二。
程式如下:
#include#includeint main()
3.編寫函式:
unsigned int reverse_bit(unsigned int value);
這個函式的返回 值value的二進位制位模式從左到右翻轉後的值。
程式如下:
pow(2,i)表示2的i次方。
#include#include#includeunsigned int reverse_bit(unsigned int value)
return sum;
}int main()
4.程式設計實現:
兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同?
程式如下:
#include#include#includeint main()
printf("count=%d", count);
system("pause");
return 0;
}
C語言編寫程式計時
在我們程式設計的時候,有時候需要我們去監測程式執行的時間問題,尤其是在做加速或者做優化的時候,乙個程式執行的時間也許就是我們判斷程式好壞的標準,所以我們有時候要進行計時。因為用到了,所以做個記錄方便下次檢視 include stdio.h include time.h clock t start t...
C語言中的位運算
0 推薦 在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功能,這使得c語言也能像組合語言一樣用來編寫系統程式。位運算子c語言提供了六種...
C語言中的位運算
c語言中的位運算有六個 按位與 按位或 按位異或 取反 左移 右移 除 以外其餘均為二元運算子,即要求運算子兩側均有乙個運算量 位運算量只能為整型或字元型,不能為實型資料。1.按位與 0 0 0 0 1 0 1 0 0 1 1 1 3 5 00000011 00000101 00000001 1 的...