当前位置:首页 » 编程语言 » c语言二进制相加的方法
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言二进制相加的方法

发布时间: 2022-11-21 18:02:59

1. c语言如何实现二进制相加问题

用数组来做就是了,byte数组或bit数组,先将数模2运算得到各位的值,存入数组中,之后一个循环来做二进制加减法就成了,溢出的判断也很简单,根据两个运算数的模与他们的符号,还有所进行的运算,用几个if语句就解决了

2. 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++]!='')//当没有到二进制数结束时,一直循环
{
d=d*2+B[i-1]-Ɔ'//求出每个二进制位的位权(从高位到低位,所以每求一位,先前的都应变为原来的2倍),累加到中间结果
}
returnd;//返回最终结果
}
intmain()
{
charb1[20],b2[20];//定义两个二进制数字符串
scanf("%s%s",b1,b2);//输入两个字符串
printf("%.0lf",BtoD(b1)+BtoD(b2));//输出两个二进制数转为十进制数后的和
}

3. C语言二进制加法

其实不难的。除非玩单片机,否则一开始没必要学二进制计算,遇到的时候了解一下即可。

4. 我想用c语言写一个二进制数加一个二进制数,输出的答案仍然是二进制数的程序……

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"string.h"
intmain(void){
chara[34],b[34],i,j,*ps,*pl;
printf("Input2binarynumbers(No01end)... ");
while(*a=*b='0',scanf("%[01]%[01]",a+1,b+1)>0){
(strlen(a+1)>=strlen(b+1))?(pl=a,ps=b):(pl=b,ps=a);
printf("%s+%s=",a+1,b+1);
for(i=strlen(pl+1),j=strlen(ps+1);j>0;j--,i--)
if((pl[i]+=ps[j]-'0')>'1')
pl[i]-=2,pl[i-1]++;
for(;i>0;i--)
if(pl[i]>'1')
pl[i]-=1,pl[i-1]++;
elsebreak;
printf("%s ",*pl!='0'?pl:pl+1);
}
return0;
}

5. 用c语言编写:将二个二进制数相加

仅供参考

6. c语言二进制数的加减运算

1、二进制加法基本指令
(1)ADD指令
格式:ADD DST,SRC
该指令把源操作数(SRC)指向的数据与目的操作数(DST)相加后,将结果放到目的操作数(DST)中,所执行的操作:(DST)ß(SRC)+(DST)
SRC和DST不能同时为存储器操作数和段寄存器,同时SRC和DST的数据类型要匹配,要同是字节或字。受影响的标志位有:OF,SF,ZF,AF,PF,CF。
(2)ADC指令
格式:ADC DST,SRC
所执行的操作:(DST)ß(SRC)+(DST)+CF 了解清楚进位是怎样加的
该指令把两个操作数(SRC和DST)相加以后,再加上进位标志CF,将结果放到目的操作数(DST)中。受影响的标志位有:OF,SF,ZF,AF,PF,CF。ADC指令多用于多精度数据相加。
2、二进制减法基本指令
(1)SUB指令
格式:SUB DST,SRC
所执行的操作:(DST)ß (DST)-(SRC)
该指令把源操作数(SRC)指向的数据与目的操作数(DST)相减后,将结果放到目的操作数(DST)中,SRC和DST不能同时为存储器操作数和段寄存器(,同时SRC和DST的数据类型要匹配,要同是字节或字。受影响的标志位有:OF,SF,ZF,AF,PF,CF。
(2)SBB指令
格式:SBB DST,SRC
(DST)ß (DST)-(SRC)-CF 了解清楚进位是怎样减的
该指令把两个操作数(SRC和DST)相减以后,再减去CF,将结果放到目的操作数(DST)中。受影响的标志位有:OF,SF,ZF,AF,PF,CF。SBB指令多用于多精度数据相加。

7. C语言二进制怎么表示

c++中负数存储时,不是简单的将符号位置为1,而是采用补码的形式存储的,负数最高位为符号位,也就是1,其余全部取反,然后再加1。

假如操作系统是32位,-1的二进制存储不是:1000
0000 0000 0001,而是:1111 1111 1111 1110+1即1111 1111 1111 1111。

(7)c语言二进制相加的方法扩展阅读:

C语言面向过程,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。

8. 二进制数的运算 C语言程序运算

用数组模拟就行。
思路:
1、将输入转化成二进制数,逆序存入数组中。
2、用两数组模拟四则运算,并将运算的结果存入第三个数组中。
3、逆序输出第三个数组。
希望对你有帮助!

9. c语言题目二进制加法求指教

1.首先不超过2的31次方,则只需要32位就够了,不需要那么大的数组。
2.x,y是int数组,'\0'就是0,怎么能作为x,y的结束
3.你不是一开始就算出来x,y的长度了吗,l1,l2,通过这个长度不就知道相加处理多少位了,
而且哪个长,最后再单独处理哪个不就行了。
或者在一开始,就把长的放在x中,短的放在y中,最后总是处理x。

10. C语言编写二进制加法

main()
{
int a.b;
scanf("%b%b",&a,&b);
printf("%b",a+b);
}