03.05 c++刷題基礎篇:將十進制轉換成二進制(單精度)

題目描述

將十進制正整數轉換成二進制數(保證輸入數據產生的結果不突破十位)

輸入

一行,一個十進制數

輸出

一行,一個二進制數

樣例輸入 Copy

<code>2/<code>

樣例輸出 Copy

<code>10/<code>

【算法分析】

十進制轉二進制採用短除法,將十進制數除以2,商寫在下面,餘數寫在商的右邊,一直往下除,直到除到商為0,將餘數逐個保存到一維數組中,最後將數值倒序輸出即可。

<code>#include<bits>
using namespace std;
int main()
{
\tint a[100];
\tlong long n;
\tint i=0,j;
\tcin>>n;
\tif(n==0)
\t{
\t\tcout<<0;
\t\treturn 0;
\t}
\twhile(n>0)//短除法將10進制數一直除以2直到商為0
\t{

\t\ta[i]=n%2;//將餘數逐個存入數值保存
\t\ti++;
\t\tn=n/2;
\t}
i--;
\tfor(j=i;j>=0;j--)//將數組倒序輸出
\t cout</<bits>/<code>
c++刷題基礎篇:將十進制轉換成二進制(單精度)

c++刷題基礎篇:將十進制轉換成二進制(單精度)


分享到:


相關文章: