當前位置:首頁 » 編程語言 » c語言二進制轉十進製程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言二進制轉十進製程序

發布時間: 2022-02-22 11:59:58

㈠ 求二進制轉十進制的代碼 c語言

#include <stdio.h>

long int btd(char *s) /*將以字元串形式存儲在s地址中的二進制數字轉換為對應的十進制數字*/
{
long int rt=0;
int i,n=0;

while (s[n]) n++;

for (--n,i=n; i>=0; i--)
rt|=(s[i]-48)<<n-i;

return rt;
}
int main(int argc, char* argv[])
{
printf("%ld",btd("11011"));/*示例,輸出11011B的十進制形式*/
return 0;
}

㈡ 用C語言怎麼做一個程序,把輸入的2進制數轉換成十進制數

#include <string.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
void convert();
void main()
{
convert();
}
void convert()
{
char a[100];
int num,sum=0;
int len;
cout<<"input the Binary:n";
gets(a);
cout<<"the original number:n";
puts(a);
len=strlen(a);
for (int i=0;i<len;i++)
{
{
num=(a[i]-48);
num=num*pow(2,len-i-1);
sum+=num;
}
}
cout<<sum<<endl;
}

㈢ 如何使用C語言編寫二進制轉換為十進制的程序

#include<stdio.h>
#include<math.h>
#include<string.h>

/*任意進制數轉十進制數*/
/*char*value:其他進制數,以字元串形式存儲*/
/*int*result:轉換後的十進制數*/
/*intradix:待轉換的進制*/
/*R進制數共n位,第n位表示為Xn。轉換後的10進制數表示為Y*/
/*Y=Xn*R^0+Xn-1*R^1+Xn-2*R^2+……+X1*R^n-1*/
voidothers2Decimal(char*value,int*result,intradix){
intdigit,i,j;

*result=0;
for(i=strlen(value)-1,j=0;i>=0;i--,j++){
if(value[i]>='0'&&value[i]<='9')
digit=value[i]-'0';
if(value[i]>='a'&&value[i]<='z')/*十以上進制處理,小寫字母*/
digit=value[i]-'a'+10;
if(value[i]>='A'&&value[i]<='Z')/*十以上進制處理,大寫字母*/
digit=value[i]-'A'+10;
*result+=digit*pow(radix,j);
}
}

/*校驗輸入的某進制數是否合法*/
/*合法:返回1;不合法:返回0*/
intcheck(char*value,intradix){
inti;

for(i=0;i<strlen(value);i++){
if(radix<=10&&value[i]>='0'&&value[i]<='9'&&value[i]>=radix+'0')
return0;
if(radix>10&&value[i]>='a'&&value[i]<='z'&&value[i]>=radix-10+'a')
return0;
if(radix>10&&value[i]>='A'&&value[i]<='Z'&&value[i]>=radix-10+'A')
return0;
}
return1;
}

intmain(void){
char*value;
intradix=2,result;

printf("請輸入%d進制數:",radix);
fflush(stdin);/*清除緩沖區*/
gets(value);

if(check(value,radix)!=1){
putchar(' ');
printf("輸入的%d進制數有誤! ",radix);
putchar(' ');
return0;
}

putchar(' ');
puts("================================================================ ");

printf("10進制轉換結果:");
others2Decimal(value,&result,radix);
printf("%d ",result);
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

㈣ C語言 將十進制數轉化為二進制數 程序代碼

#include <stdio.h>

void main()
{
int a;
scanf(\"%d\",&a);//輸入一個10進制數。

int result=0;//存儲a的二進制結果。
int p=1;//p=1表示個位數

do
{
int b=a%2;//b是余數,第一個余數是二進制的個位。
result=result+p*b;
p=p*10;//*10表示下個是10位數。
a=a/2;
}while(a);

printf(\"\\n%d\\n\",result);
}

程序在vc6.0下編譯通過可以直接用,你自己看看吧,思路是a%2的結果是二進制的個位數,(a/2)%2的結果是二進制的十位數所以p擴大10倍,以後依次類推。

㈤ 二進制轉十進制c語言代碼

#include<stdio.h>
intmain()
{
intn=0,c;
while((c=getchar())!=' ')
n=n<<1|c-'0';
printf("%d ",n);
return0;
}