利用位运算符实现二进制加法,将结果存入size+1大小的数组中输出,代码如下:
#include<iostream>
using namespace std;
#define size 8
int c, sig = 0,location = 8;
//c为存储当前位,sig为进位标志
void binary_add(int a, int b,int arr[]){
//当有进位时:
if (sig == 1){
//确定当前位
c = a^b;
//当两位相加后,如果不同:0/1
if (c != sig){
//相加:或操作
c = c | sig;
//标志位清除
sig = 0;
}
//两位相加后与sig相同:
else{
&n