C++通过运算符重载实现四进制加法

问题描述:
在这里插入图片描述
博主在写这道题时遇到了几个问题,下面记录一下:
首先第一个需要注意的是,输入的数就是以4进制数表示的,无需再进行转换。
此外比较难的点主要由两个:
1.如何实现四进制加法乃至多进制加法?
实现思路也不难,但有几个细节要注意:
思路:分别取两个加数的各位数字,进行相加。
需要注意进位的问题(可以定义一个carryFlag变量进行表示)
进行加法的次数应该比两个加数的位数还要多1.
同时实现多次加法时 可以用 quantary = quantary+qc; 实现(没有重载+=,不能简写)
下面呈现具体的代码:
#include
#include
using namespace std;
int max(int a,int b){
return (a>b)?a:b;
}
class Quanternary{
int value;
public:
/*
Quanternary(int num){
value = 0;
int i=0;
while(num!=0){
value += num%4*pow(10,i);
num = num/4;
i++;
}
}
*/
Quanternary(int num){
value = num;
}

void init(int num1){
	value = num1;
}

Quanternary operator + (const Quanternary &key){
	int newValue = 0;
	int flag = 0;
	int num = 0;
	int val = 0;//记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值