目的:將十進制轉換為二進制
思路:
首先我們手算的情況是通過求余數算出進制數,同樣代碼也是通過做除法和求余數的方式,除法是得出下一次的被除數,而求余數是得到進制數
代碼:
#include<stdio.h>// 十進制轉換為二進制,通過除法求余數
void getTwo(int n) {// res數組存放結果,div是要轉換進制的數,mod是余數,flag是標記存放到數組的位置 int res[30]={0}; int div = n;int mod = 0;int flag;for (flag=0; div!=0; flag++) {// 如果要是十進制轉換為八進制只需要修改下面的2為8即可,但是16進制需要重新寫 mod = div % 2;div = div / 2;res[flag] = mod;
// res = res * 10 + mod;}// 逆序輸出二進制數for (int i=flag-1; i>=0; i--) {printf("%d",res[i]);}
}
int main() {int n;scanf("%d",&n);getTwo(n); return 0;
}