小程式之求乙個正整數的二進位制

2021-07-22 19:34:38 字數 636 閱讀 4153

#include

#include

int main()

int n = 0;

int i = 0;

int s = 0; //商

int y = 0; //餘數

int arr[20] = ;

printf("輸入乙個正整數:

");

scanf_s("%d", &s);

//迴圈做除法用陣列記錄餘數

while (s != 0 )

y = s % 2;

s = s / 2;

arr[i] = y;

i++;

//逆序輸出餘數陣列

printf("該正整數的二進位制數為:

");

for (i = i - 1; i >= 0; i--)

printf("%d", arr[i]);

//記錄餘數陣列中

1的個數

if (arr[i] == 1)

n++;

printf("\n");

printf("該正整數的二進位制數中

1的個數為:

%d\n", n);

system("pause");

return 0;

數值轉換 十進位制正整數轉二進位制

今天朋友去面試,問到一基礎題,實現正整數到二進位制的轉換。因為對基礎掌握的不牢,此題並未能做出正確解答。我在給他講解一番後,他恍然大悟。對於十進位制正整數到二進位制的轉換其實很簡單,用2輾轉相除至結果為1,將餘數和最後的1從下向上倒序寫,就是整數所對應的二進位制值。例如5的二進位制就是101 如圖 ...

50 輸出正整數對應的二進位制數

50 輸出正整數對應的二進位制數 問題描述 輸入乙個十進位制正整數,輸出它的二進位制數。輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,其中包含乙個正整數n,0 n 1024,所有資料前後沒有多餘的空格,兩組資料之間也沒有多餘的空行。輸出說明 對每組測試...

求逆轉乙個整數的二進位制表示

解法一 這個容易理解。cpp view plain copy 解法一 define unsigned bits count 32 unsigned int bitrev3 unsigned intinput 我的格式,先不考慮符號問題 int reverse int n return ret 解法二...