『壹』 c語言怎麼將2進制轉化為10進制
#include<stdio.h>
intSum(inta[]);
intpower(intb);
intmain()
{
intarray[8],i;
printf("輸入一個8位二進制數:");
for(i=0;i<8;i++)
{
scanf("%1d",&array[i]);
}
printf("轉換為十進制數後是:%d ",Sum(array));
return0;
}
intSum(inta[])
{
intn,i,sum=0,term;//n為指數,term為每一項的值,如1*(2*2),sum為總和
for(i=0,n=7;i<8;i++,n--)
if(n>=0)
{term=a[i]*power(n);
sum=sum+term;
}
returnsum;
}
intpower(intb)
{
inti=2,j=1;
if(b==0)
i=1;
for(;j<b;j++)
i=2*i;
returni;
}
『貳』 用c語言怎麼寫 實現2進制轉成10進制
按照樓主的意思,應該是2機制格式表示的字元串,轉成10進制格式的字元串
(否則,都是數值的話,不需要轉。把它看成2進制或10進制,都可以)
所以,該功能分兩部分
1,把2進製表示的字元串,轉換成數值
2,把數值轉換成10進製表示的字元串
『叄』 c語言編程 將輸入的2進制字元串轉換為10進制數輸出
數組s已經定義長度,strlen的結果就是100,另外換算的時候語句可以優化
『肆』 c語言如何把一個字元串格式的二進制數轉化為整數型的十進制數
首先要說,在計算機裡面不存在十進制數。我們看到的輸出的十進制數,其實是C編譯器把真正的二進制數的數值以十進制形式顯示在屏幕上。如果說計算機裡面有十進制數的話,那麼BCD數可以算是一種形式的十進制數。
而題目中的字元串格式的二進制數,也就是一串的'0','1'字元;轉化為整數型其實就是求得其實際數值,最後以十進制形式輸出。
#include <stdio.h>
int main()
{
long int m;
char c0[50],*c ;
while(scanf("%s",c0)!=EOF){
m = 0;c=c0;
while(*c)
m += (m + *(c++)-'0');
printf("%d\n",m);
}
return 0;
}
『伍』 C語言,利用函數實現將二進制數轉化為十進制數並實現相加。
1、2進制10進制的轉換方法:
二進制數1101轉十進制:
1×2的三次冪+1×2的二次冪+0×2的一次冪+1×2的零次冪=8+4+0+1=13
附加一個八進制轉十進制的例子吧:
507(八進制轉10進制):
5×8的2次冪+0×8的1次冪+7×8的0次冪=
5×64+0×8+7×1=327(10進制)
2、常式:
#include"stdio.h"
doubleBtoD(charB[])
{
doubled=0;//轉為十進制數的中間結果變數
inti=0;//當前求到了二進制數的位置
while(B[i++]!='