求助二进制加法
  • 板块学术版
  • 楼主JoeBiden2020
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/10/2 17:21
  • 上次更新2023/11/4 05:07:57
查看原帖
求助二进制加法
432183
JoeBiden2020楼主2021/10/2 17:21

打算写一个数据类型,用 bitset 写的三字节整形,加法运算出现问题,加法结果为0,不知道哪里的问题

midint operator + (midint a) {
				midint temp;
				temp.self = this->self;
				for(int i=0; i<24; i++) {
					cout<<endl;
					if(!(temp.self[i]&&a.self[i]))temp.self[i]=a.self[i]^temp.self[i];
					else{
						short j=i;
						while(j++){
							if(j>=24){
								cout<<"midint overflow!\n";
								exit(3221225477u);
							}
							if(!temp.self[j]){
								temp.self[j]=1;
								break;
							}
							if(!a.self[j]){
								a.self[j]=1;
								break; 
							}
						}
					}
				}
				//A^B+(A&B)<<1;
			}
2021/10/2 17:21
加载中...