關於位運算和自定義函式的小練習

2021-09-14 07:45:19 字數 1320 閱讀 3805

編寫函式:

unsigned int reverse_bit(unsigned int value);

這個函式的返回值value的二進位制位模式從左到右翻轉後的值。

如:在32位機器上25這個值包含下列各位:

00000000000000000000000000011001

翻轉後:(2550136832)

10011000000000000000000000000000

程式結果返回:

2550136832

分析題目,只需要將二進位制中1的個數輸出,並將1的位置從左到右反轉後轉為十進位制的值即可。

#include #include #include unsigned int reverse_bit(unsigned int num) 

else

result += (unsigned int)pow(2,31-i); //輸出反轉後的十進位制數

} return result;

}int main()

不使用(a+b)/2這種方式,求兩個數的平均值。

#include #include int main()
程式設計實現:

一組資料中只有乙個數字出現了一次。其他所有數字都是成對出現的。

請找出這個數字。(使用位運算)

#include #include int main() ;

int i=0;

for(i=1;i有乙個字元陣列的內容為:「student a am i」,

請你將陣列的內容改為"i am a student".

要求:不能使用庫函式。

只能開闢有限個空間(空間個數和字串的長度無關)。

student a am i

i ma a tneduts

i am a student

#include #include #include //計算字串長度

int len(char* str)

return count;

}//逆轉函式

void reverse(char a,int left,int right)

}//逆轉字元陣列

char* reverse_str(char a)

right = i - 1;

reverse(a,left,right);

if(a[i] != '\0')

i++;

} return a;

}int main()

關於自定義函式和巨集定義

一 static 此定義型別有以下3種情況 1 當修飾乙個全域性變數時,這個變數的作用域被改變了,只能在當前檔案中呼叫 2 當修飾乙個區域性變數時,改變了變數的生命週期,直到程式結束才會被釋放。注 一般的呼叫函式中定義的區域性變數預設儲存在棧空間,而如果是被static修飾的區域性變數儲存在資料段內...

關於自定義bing函式的解釋

首先,來看下摘自的bind includeusing namespace std namespace placeholder 1 template class bind t r operator template bind t bind r t f arg t t,arg a class bind ...

MySQL 關於自定義函式的操作

函式 模組化,封裝,復用 create function 函式名 引數列表 returns 資料型別 begin sql語句 return 值 end 示例 最簡單的僅有一條sql的函式 create function myselect1 returns intreturn 666 呼叫 selec...