问题描述:

博主在写这道题时遇到了几个问题,下面记录一下:
首先第一个需要注意的是,输入的数就是以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;//记

最低0.47元/天 解锁文章
3801

被折叠的 条评论
为什么被折叠?



