十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。
具體做法是:用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
參考程式碼:
#include<stdio.h>
intmain()
{
intn,a[100],i=0,j;
scanf("%d",n);
while(n)
a[i++]=n%2;
n/=2;
}
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
return0;
/*
輸出:
10
1010
*/
十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。
具體做法是:用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
參考程式碼:
#include<stdio.h>
intmain()
{
intn,a[100],i=0,j;
scanf("%d",n);
while(n)
{
a[i++]=n%2;
n/=2;
}
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
return0;
}
/*
輸出:
10
1010
*/