1. 程式人生 > >大數——二進位制轉換(hdu2051)

大數——二進位制轉換(hdu2051)

題目連結:

題目描述:輸入為一個整數,但輸出的二進位制很容易超出範圍,所以改用字串進行輸出

一、這道題輸入的整數會存在負數,所以注意對輸入進行判斷

二、對二進行取餘,跟大數相加一樣,先產生的是末端,所以輸出時要倒著輸出

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{int n,i;
char a[10000];
while(scanf("%d",&n)!=EOF){
i=0;
if(n<0){n=abs(n);
printf("-");}
while(n>0)
{
a[i]=n%2+48;
n=n/2;
i++;}
n=i-1;
for(i=n;i>=0;i--)
printf("%c",a[i]);

printf("\n");
}}