我试图通过添加相应的数字来添加两个八进制数,但是,当数字总和大于 7 时,我被卡住了。我必须进行进位并将其添加到下一个加法周期. 我无法找到正确的表达式来考虑进位并计算最终总和。
要考虑的另一种情况是八进制数a和b的位数不同时,例如:6 和 13(八进制中的 6+13=21 )。我无法为这种条件的 while 循环建立条件(如果两者的位数相同,我可以运行 while 循环,直到它们中的任何一个或两者都变为零)
有人可以帮助/完成以下代码:
int octal_sum(int a,int b) //a and b and octal numbers
{
int sum=0,carry=0,d=0;
while(**???**)
{
d=0;
d=carry+(a%10)+(b%10);
a/=10;b/=10;
if(d>7)
{
carry=1;
d=d%8;
}
sum= **???**
}
return sum; //returns octal sum of a and b
}