1. 程式人生 > 其它 >二進位制數(北郵複試上機)

二進位制數(北郵複試上機)

技術標籤:王道複試指南c++

前言:

21考研,不論能否進複試記錄一下準備路上寫下的垃圾程式碼。本來啃《演算法筆記》,但是感覺太多了做不完,改做王道機試指南。

題目描述:

大家都知道,資料在計算機裡中儲存是以二進位制的形式儲存的。 有一天,小明學了C語言之後,他想知道一個型別為unsigned int 型別的數字,儲存在計算機中的二進位制串是什麼樣子的。 你能幫幫小明嗎?並且,小明不想要二進位制串中前面的沒有意義的0串,即要去掉前導0。

輸入描述

多行,每一行表示要求的數字

輸出描述:

輸出共T行。每行輸出求得的二進位制串。

解答

#include<iostream>
#include
<string>
using namespace std; int main() { int num; while (cin >> num) { string Bnum=""; int temp; while (num != 0) { temp = num % 2; num /= 2; Bnum += temp+'0'; } for (int i = Bnum.length()-1; i >= 0; i--) if (i != 0) cout << Bnum[i]; else cout <<
Bnum[i] << endl; } return 0; }