用户登录
用户注册

分享至

二进制转十进制软件 二进制转换十进制程序

  • 作者: 莫叹流年
  • 来源: 51数据库
  • 2020-04-17

二进制转换十进制:#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数据库 » 二进制转十进制软件 二进制转换十进制程序

软件
前端设计
程序设计
Java相关