二进制转换十进制:#include <stdio.h>
#include <string.h>
#include <math.h>int main()
{
char binary[20];
float ten=0;
int i=0,t,k;
scanf("%s",binary);
k=strlen(binary);
while(k--)
{
t=binary[k]-'0';
if(t)
ten+=pow(2,i);
i++;
}
printf("%.0f\n",ten);
return 0;
}十进制转换成二进制,八进制,十六进制的#include <stdio.h>/*输出*/
void print(int i,char *s)
{
while(i--)
{
printf("%c",s[i]);
}
printf("\n");
}/*十进制转换八进制*/
void TentoE(int n)
{
int i=0;
char str[10];
while(n>0)
{
str[i]=n%8+'0';
n/=8;
i++;
}
printf("Octal:");
print(i,str);
}/*十进制转换十六进制*/
void TentoHex(int n)
{
int i=0,t;
char str[10];
while(n>0)
{
t=n%16;
if(t>=10)
{
str[i]=t%10+'a';
}
else
str[i]=n%16+'0';
n/=16;
i++;
}
printf("Hex:");
print(i,str);
}/*十进制转换二进制*/
void TentoB(int n)
{
int i=0;
char str[20]="\0";while(n>0)
{
str[i]=n%2+'0';
n/=2;
i++;
}
printf("Binary:");
print(i,str);
}
void main()
{
int x;
scanf("%d",&x);
TentoB(x); //转换二进制并输出
TentoE(x); //转换八进制并输出
TentoHex(x); //转换十六进制并输出
}二进制转换任意进制:#include <stdio.h>
#include <string.h>
#include <math.h>int main()
{
char binary[20];
float ten=0;
int i=0,t,k,n;scanf("%s",binary); //输入二进制;
scanf("%d",&n); //输入要转换的进制.
k=strlen(binary);
/*先将二进制转换成十进制*/
while(k--)
{
t=binary[k]-'0';
if(t)
ten+=pow(2,i);
i++;
}
/*再将十进制转换成n进制*/
t=ten;i=0;
memset(binary,'\0',20); //将字符数组清空.
while(t)
{
binary[i++]=t%n+'0';
t/=n;
}
while(i--)
{
printf("%c",binary[i]);
}
return 0;
} 满意还请采纳..
二进制转十进制的软件
如果你用的xp,那么打开 开始->程序->附件->计算器,,,查看->科学型。
win7那么打开 开始->所有程序->附件->计算器_ 查看->程序员。
采纳哦!!!
用C语言编写二进制转换十进制的程序。
一下两个程序均在VC在编译通过。
/*
如果这个二进制数比较大的话, 大到只能用数组储存这个二进制数,
当然如果大到转化成10进制int存不下的情况那另当别论
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[33];
int i, num = 0;
scanf("%s", a);
for(i=strlen(a)-1; i>=0; i--)
{
num*=2; /*如果用位运算的话,速度会更快*/
num+=a[i]-'0';
}
printf("%d\n", num);
return 0;
}
/*
如果这个二进制数的位数不超过10位的话
可用这个程序
*/
#include<stdio.h>
int main()
{
int num = 0, a, j=1;
scanf("%d", &a);
while(a)
{
num += (a%10) * j;
a /= 10;
j *= 2;
}
printf("%d\n", num);
return 0;
}
c语言把二进制数转换成十进制数的程序怎么写。
#include<stdio.h>
int main()
{
char a[17]; //17可为任意正整数;
int i,sum=0;
gets(a);
for(i=0;a[i]!='\0';i++)
sum=sum*2+(a[i]-48); //a[i]为ASCII值,减掉'0'的ASCII值(十进制中为48)即为数;
printf("%d",sum);
return 0;
}// WUT infomation school of engineering;
二进制怎么转化成十进制?
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。
2(1-1)代表2的0次方,就是1;其他类推
比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13
二进制转换十进制的简单方法?
方法一:从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
例:二进制数1101.01转化成十进制
1101.01(2)
=1*2【0】+0*2【1】+1*2【2】+1*2【3】 +0*2【-1】+1*2【-2】
=1+0+4+8+0+0.25=13.25(10)
方法二:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:N(2)=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m(10)式中aj表示第j位的系数,它为0和1中的某一个数。
例:二进制数1101转化成十进制
1101(2)
=1*2【3】+1*2【2】+0*2【1】+1*2【0】
=13(10)
注意:
1、【】括号内数字代表次方,如【2】为二次方,【-1】为负一次方。
2、()括号内代表进制数,(2)为二进制,(10)为十进制。
扩展资料:
以下为二进制转是进制代码:
int readint(int a) //a 是传入二进制位数
{
int sum = 0;
while (a--) {
sum *=2;
sum += getchar() - '0'; // getchar 读入相应十进制的每一位
}
return sum; // sum 是相应的十进制
}
参考资料来源:百度百科-十进制转二进制
二进制100110转换十进制是多少?(请把步骤发来参考谢谢)
先知道规律,二进制的“1”除了右起第一位等于十进制的1,从右起第二位的“1”都是十进制的2的指数值,即第二位的1是2的一次方,第三位的1是2的2次方,后面以此类推。
所以二进制100110转化为十进制等于:
2^5+2^2+2
=32+4+2
=
38
说明一下,实际转化时,从右至左以少加多比较好。
二进制11101101转换为十进制是多少?要过程
转化成十进制要从右到左用二进制的每个数去乘以2的相应次方
不过次方要从0开始
11101101=1*2^0+0*2+1*2^2+1*2^3+0*2^4+1*2^5+1*2^6+1*2^7
=1+0+4+8+0+32+64+128
=237
转载请注明出处51数据库 » 二进制转十进制软件 二进制转换十进制程序
莫叹流年
