當前位置:首頁 » 編程語言 » 十進制轉換二進制c語言

十進制轉換二進制c語言

發布時間: 2022-12-31 04:05:04

A. 求十進制轉換二進制c語言代碼

求十進制轉換二進制C語言代碼代碼如下:

#include<stdio.h>

#defineNR(sizeof(int)*8)//二進制位的個數

voiddeciToBin(intnum);//十進制轉換為二進制函數聲明

/*主函數*/

intmain(void)

{

intnum;

fprintf(stdout,"請輸入一個正整數:");

/*獲取並檢查用戶輸入*/

while(1)

{

if(fscanf(stdin,"%d",&num)!=1)

{

fprintf(stderr,"輸入錯誤!請重新輸入:");

while(getchar()!=' ');//去掉多餘的非法字元

continue;

}

elseif(num<0)//輸入的數不能為負數

{

fprintf(stderr,"請輸入錯誤!請輸入正整數:");

continue;

}

else

break;

}

fprintf(stdout,"對應二進制為:");

#if1/*方法一:不使用遞歸*/

charbitArr[NR];

inti=-1;

/*演算法:棧的數學模型*/

do{

i+=1;

bitArr[i]=num%2;

num/=2;

}while(num!=0);

/*逆序列印*/

for(i;i>=0;i--)

{

fprintf(stdout,"%d",bitArr[i]);

}

fputc(' ',stdout);

#else/*方法二:使用遞歸*/

if(num==0)

{

fprintf(stdout,"0 ");

}

else

{

deciToBin(num);//調用第歸函數

fputc(' ',stdout);

}

#endif

return0;

}

/*

*@函數名:deciToBin

*@函數功能:實現十進制轉換為二進制

*@參數:需要轉換的十進制整數

*/

voiddeciToBin(intnum)

{

/*第歸結束條件*/

if(num==0)

{

return;

}

/*第歸調用*/

deciToBin(num/2);

/*逆序列印*/

fprintf(stdout,"%d",num%2);

}

(1)十進制轉換二進制c語言擴展閱讀:

使用C語言編程實現任意進制數(2-16進制)轉換為其他任意進制數(2-16進制)方法:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

intTenNum(chara[],intB);

voidNumchange(intm,intB);

intTenNum(chara[],intB)

{

intlen,i,num;

intsum=0;

len=strlen(a);

for(i=0;i<len;i++)

{

if(a[i]>='0'&&a[i]<='9')

num=a[i]-'0';

elseif(a[i]>='A'&&a[i]<='F')

num=a[i]-'A'+10;

sum=sum*B+num;

}

returnsum;

}

voidNumchange(intm,intB)

{

intn;

if(m)

{

Numchange(m/B,B);

n=m%B;

if(n<10)

printf("%d",n);

else

printf("%c",n+55);

}

}

intmain()

{

intB,b;

chara[20];

printf("請輸入待轉換數的進制(2-16):");

do{

scanf_s("%d",&B);

}while(B<2&&B>16);

printf("請輸入待轉換數:");

getchar();

gets_s(a);

intm=TenNum(a,B);

printf("請輸入需要轉成幾進制數(2-16):");

do{

scanf_s("%d",&b);

}while(B<2&&B>16);

printf("%d進制數%s轉換為%d進制數的結果為:",B,a,b);

Numchange(m,b);

printf(" ");

system("pause");

return0;

}

B. c語言怎麼將十進制轉化成二進制

#include <stdio.h>

void main()

{

//進制轉換函數的聲明

int transfer(int x);

int x;

printf("請輸入一個十進制數:");

scanf("%d",&x);

printf("轉換成二進制數是:%d ",transfer(x));

}

int transfer(int x)

{

int p=1,y=0,yushu;

while(1)

{

yushu=x%2;

x/=2;

y+=yushu*p;

p*=10;

if(x<2)

{

y+=x*p;

break;

}

}

return y;

}

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1

十進制小數轉二進制數:「乘以2取整,順序排列」(乘2取整法)

網路-二進制

C. 一道c語言編程題,將十進制轉換為二進制

1、打開visual C++ 6.0-文件-新建-文件-C++ Source File。

D. 求十進制轉換二進制C語言代碼

求十進制轉換二進制C語言代碼代碼如下:

#include <stdio.h>

#define NR (sizeof(int)*8) // 二進制位的個數

void deciToBin(int num); // 十進制轉換為二進制函數聲明

/* 主函數 */

int main(void)

{

int num;

fprintf(stdout, "請輸入一個正整數:");

/* 獲取並檢查用戶輸入 */

while (1)

{

if (fscanf(stdin, "%d", &num) != 1)

{

fprintf(stderr, "輸入錯誤!請重新輸入:");

while (getchar() != ' '); // 去掉多餘的非法字元

continue;

}

else if (num < 0) // 輸入的數不能為負數

{

fprintf(stderr, "請輸入錯誤!請輸入正整數:");

continue;

}

else

break;

}

fprintf(stdout, "對應二進制為:");

#if 1 /* 方法一: 不使用遞歸 */

char bitArr[NR];

int i = -1;

/* 演算法:棧的數學模型 */

do {

i += 1;

bitArr[i] = num % 2;

num /= 2;

} while (num != 0);

/* 逆序列印 */

for (i ; i >= 0; i--)

{

fprintf(stdout, "%d", bitArr[i]);

}

fputc(' ', stdout);

#else /* 方法二: 使用遞歸 */

if (num == 0)

{

fprintf(stdout, "0 ");

}

else

{

deciToBin(num); // 調用第歸函數

fputc(' ', stdout);

}

#endif

return 0;

}

/*

* @函數名:deciToBin

* @函數功能:實現十進制轉換為二進制

* @參數:需要轉換的十進制整數

*/

void deciToBin(int num)

{

/* 第歸結束條件 */

if (num == 0)

{

return;

}

/* 第歸調用 */

deciToBin(num/2);

/* 逆序列印 */

fprintf(stdout, "%d", num%2);

}

(4)十進制轉換二進制c語言擴展閱讀:

使用C語言編程實現任意進制數(2-16進制)轉換為其他任意進制數(2-16進制)方法:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

int TenNum(char a[],int B);

void Numchange(int m, int B);

int TenNum(char a[], int B)

{

int len, i, num;

int sum = 0;

len = strlen(a);

for (i = 0; i < len; i++)

{

if (a[i] >= '0' && a[i] <= '9')

num = a[i] - '0';

else if (a[i] >= 'A' && a[i] <= 'F')

num = a[i] - 'A' + 10;

sum = sum * B + num;

}

return sum;

}

void Numchange(int m, int B)

{

int n;

if (m)

{

Numchange(m / B, B);

n = m % B;

if (n < 10)

printf("%d", n);

else

printf("%c", n + 55);

}

}

int main()

{

int B, b;

char a[20];

printf("請輸入待轉換數的進制(2-16):");

do {

scanf_s("%d", &B);

} while (B < 2 && B > 16);

printf("請輸入待轉換數:");

getchar();

gets_s(a);

int m = TenNum(a, B);

printf("請輸入需要轉成幾進制數(2-16):");

do {

scanf_s("%d", &b);

} while (B < 2 && B > 16);

printf("%d進制數%s轉換為%d進制數的結果為:",B,a,b);

Numchange(m, b);

printf(" ");

system("pause");

return 0;

}

E. 請用一個很簡單的C語言程序:十進制轉換為二進制。

#include"stdio.h"

intmain()

{

intn;

inti=0,j;

charstr[100]={0};

charoutput[100]={0};

printf("請輸入一個整數:");

scanf("%d",&n);

while(n)

{

str[i]=n%2+'0';

n=n/2;

i++;

}

for(j=0;j<i;j++)

output[j]=str[i-1-j];

printf("該整數的二進製表示為:%s ",output);

}

F. 用c語言編寫十進制轉化二進制

#include <stdio.h>

void d2n(unsigned long d,int n)

{

if(d>=n)

{

d2n(d/n,n);

}

printf("%c","0123456789ABCDEF"[d%n]);

}

int main()

{

unsigned long d;

int n;

scanf("%lu",&d);

d2n(d,2);

return 0;

}

G. C語言中怎樣調用函數將十進制轉換成二進制

1、打開visualC++6.0-文件-新建-文件-C++SourceFile。

熱點內容
java代碼基礎 發布:2025-07-02 00:00:46 瀏覽:304
煙花的代碼c語言 發布:2025-07-01 23:56:04 瀏覽:223
安卓默認打開文件方式怎麼修改 發布:2025-07-01 23:30:38 瀏覽:862
壓縮機接線座 發布:2025-07-01 23:17:48 瀏覽:662
iqoo瀏覽器緩存路徑 發布:2025-07-01 23:12:38 瀏覽:691
明日之後如何獲得最新伺服器 發布:2025-07-01 23:12:35 瀏覽:50
tv加密頻道 發布:2025-07-01 23:10:58 瀏覽:623
如何找到5d4通信密碼 發布:2025-07-01 23:03:35 瀏覽:233
華為pop伺服器地址怎麼填 發布:2025-07-01 23:02:44 瀏覽:462
訪問量賺錢 發布:2025-07-01 22:47:58 瀏覽:383