十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
计算机运行二进制代码后呈现出人可以识别的非二进制形式,是由输出语句来完成的。
创新互联建站于2013年成立,先为凉城等服务建站,凉城等地企业,进行企业商务咨询服务。为凉城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
例如printf( ) 函数,会将二进制值转化为指定的格式字符串进行输出。
c语言编程将十进制转化为2进制可按手工转换规则进行程序转换。
整数占四个字节,每字节8位,共32位。所以,可以定义一个32位的数组来存储转换结果。
循环将整数进行除2取余数,余数存储到数组中。
当整数整除为0时,结束循环
逆序输出数组,得到转换结果
参考代码:
#include stdio.h
void main()
{
int c[32],i=0,n;
scanf("%d", n) ; //输入待转换整数n
do {
c[i++]=n%2;
n/=2;
} while(n!=0) ;
for(i--;i=0;i--)
printf("%d",c[i] );
printf("\n");
}
将二进制转成十进制,按权值展开求和即可。
可以通过以下代码解决:
#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;ilen;i++)
{
m=1;
if(a[i]=='1')
{
for(j=1;j=len-i-1;j++)
m*=2;
sum+=m;
}
}
printf("%d",sum);
}
return 0;
}
扩展资料:
我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。
十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
八进制转二进制:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
负数的进制转换稍微有些不同。
先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。
例:要求把-9转换为八进制形式。则有:
-9的补码为1111 1111 1111 0111。从后往前三位一划,不足三位的加0
111----7
110----6
111----7
111----7
111----7
001----1
然后我们将结果按从下往上的顺序书写就是:177767,那么177767就是十进制数-9的八进制形式。
其实转化成任意进制都是一样的。
参考资料:
二进制——百度百科
十进制——百度百科
C语言中常用的有十进制、二进制、八进制(用0表示)、十六进制(用0x表示)。
十进制转二进制:
十进制转二进制采取除于2取余的方式。
将十进制数除于2得到商和余数,
将商继续除于2一直到商为0,
将得到的余数倒叙排列就是转换为二进制的结果
二进制转十进制:
从右向左用二进制位上的每一个数乘以2的相应次方
如二进制1010转换为十进制:
1010 = 0*(2的0次方)+1*(2的1次方)+0*(2的2次方)+1*(2的3次方) = 2 + 8 = 10
八进制转换为二进制
将二进制数自右向左每三位分为一段(若不足三位用0补齐),
然后将二进制的每三位转换为一位八进制数
如将二进制数0101010转换为八进制:
0 101 010不够三位的补0得到
000 101 010 = 052 = 0052(八进制用0表示)
十六进制转换为二进制
将二进制数自右向左每四位分为一段(若不足三位用0补齐),
然后将二进制的每4位转换为一位十六进制数
如将二进制数0101100转换为十六进制:
010 1100不够三位的补0得到
0010 1100 = 2C= 0x2C(十六进制用0x表示)