十進制轉二進制
阿新 • • 發佈:2019-01-10
name cout == std pre != 一個數 取余 namespace
十進制轉二進制
思路:所謂的“除二取余”,一個數n先取余數,所得余數為最低位,然後除以二再取余數,所得余數為次低位,以此類推直到n == 1
,再加一個1
為最高位即可
#include <iostream> #include <string> using namespace std; void dec_to_bin(unsigned int n){ if(n == 0){ cout << 0 << endl; return; } int remainder; string s; while(n != 1){ remainder = n % 2; n = n / 2; if(remainder == 0) s = s + ‘0‘; else s = s + ‘1‘; } s = s + ‘1‘; for(int i = s.size() - 1; i >= 0; i--){ cout << s[i]; } cout << endl; } int main(){ unsigned int n; while(cin >> n){ dec_to_bin(n); } return 0; }
十進制轉二進制