C語言實現1個無符號整型的十進位制數,按照要求轉換為二進位制並輸出
阿新 • • 發佈:2018-12-27
輸入1個無符號整型的十進位制數,將其轉換成二進位制,並輸出。(6分)
題目內容:
從鍵盤輸入1個小於65536的無符號整型的十進位制數,將其轉換成二進位制,並輸出。
具體要求完成的功能如下:
1)如輸入負數,則顯示 “請輸入非負數”
2)如超過65535,則顯示“超過範圍”
3)輸出轉換過的二進位制數;
輸入格式:
輸入一個小於65536的正整數
輸出格式:
二進位制數每8位空一格不足16位補0
輸入樣例:
765
輸出樣例:
00000010 11111101
時間限制:500ms記憶體限制:32000kb
C程式碼實現:
#include <stdio.h>
#include <stdlib.h>
#define uint unsigned int
void bin(int m);
int main()
{
int n;
scanf("%d",&n);
if(n<0){
printf("請輸入非負數");
}
else if(n>65535){
printf("超過範圍");
}
else{
bin(n);
}
}
void bin(int m){
int a[16],i,j,count;
count = 0;
for(i=0;m;i++){
a[i]=m%2;
m=m/2;
count++;
}
for(j=15;j>= 0;j--){
if(j>=count){
a[j] = 0;
printf("%d",a[j]);
if(j==8)
printf(" ");
}
else{
printf("%d",a[j]);
if(j==8)
printf(" ");
}
}
}
以上。