#include
int getdata(char *buf, int n) //buf[0]是高位位元組, buf[2]是低位位元組
int main()
; char b[3] = ;
result = getdata(a, 3);
printf("%d\n", result);
result = getdata(b, 3);
printf("%d\n", result);
getchar();
}
方法二
int getdata(unsigned char *buf, int n)
方法二中需要注意的是buf的型別,有符號和無符號運算結果不一樣。
計算機中變數的首位址都是按4位元組(32位機器)或者8位元組(64位機器)對齊的。單個char變數還是佔了乙個整數的記憶體,存的也是整數
執行結果為:
二進位制128位整數運算
gcc提供了兩種128位整數型別,分別是 int128 t和 uint128 t,分別用於宣告有符號整數變數和無符號整數變數。有關gcc的文件參見 using the gnu compiler collection gcc 這裡給出了樣例程式,是有關型別 int128 t和 uint128 t的。從...
翻轉整數的二進位制位
乙個無符號的整數,如果需要翻轉其二進位制位,可以採用下面的方法,以32位整數為例 unsigned int v 32 bit word to reverse bit order swap odd and even bits v v 1 0x55555555 v 0x55555555 1 swap c...
判斷二進位製半整數(二進位制)
10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...