C语言有二进制吗
有的。
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
c语言2进制转十进制代码
C语言中可以使用atoi()函数将二进制字符串转换为十进制整数。首先需要将二进制字符串传入该函数,然后将其转换为十进制整数。例如,如果要将二进制字符串"1010"转换为十进制整数,可以使用以下代码:
char binary[] = "1010";
int decimal = atoi(binary);
这将把二进制字符串"1010"转换为十进制整数10,并将其存储在变量decimal中。需要注意的是,该函数只能将字符串转换为整数,如果字符串中包含非数字字符,则会返回0。因此,在使用该函数时需要确保字符串中只包含0和1。
将二进制转成十进制,按权值展开求和即可。
可以通过以下代码解决:
#include <stdio.h>
#include <stdlib.h>
int main()
{char a[17];
gets(a);
int len,i,sum=0,m,j;
len=strlen(a);
if(len<=16)
{for(i=0;i<len;i++)
{m=1;
if(a[i]=='1')
{
for(j=1;j<=len-i-1;j++)
m*=2;
sum+=m;
}
}
printf("%d",sum);
}
return 0;
}
c语言10进制转2进制怎么算
要将十进制数转换为二进制数,可以使用除2取余的方法。首先,将十进制数除以2,并记录余数,这个余数就是二进制数的最低位。
然后,将商继续除以2,再次记录余数,并将这个余数放在上一个余数的左侧,形成二进制数的次低位。如此反复操作,直到商等于0为止。
最后,将记录的余数按照从右至左的顺序排列,得到的就是十进制数转换为二进制数的结果。例如,将十进制数27转换为二进制数的过程为:27 / 2 = 13, 余1; 13 / 2 = 6, 余1; 6 / 2 = 3, 余0; 3 / 2 = 1, 余1; 1 / 2 = 0, 余1。所以,将十进制数27转换为二进制数的结果为11011。
一、十进制转换为二进制;比如10进制的15转换2进制:用15除以2,商为7,余数为1,再用7除以2,商为3,余数为1,再用3除以2,商为1,余数为1,再用1除以2,商为0,余数为1,最后吧余数倒过来排列就为二进制的1111(即商为0时的1,商为1时的1,商为3时的1,商为7时的1)二、二进制转十进制1.以二进制的1111转十进制为例:
2.把二进制的1111看成是十进制的1111即1*10^3+1*10^2+1*10^1+13.然后把10变成2,即1*2^3+1*2^2+1*2^1+1=15