C# 直接减去两个八进制数而不转换为十进制数
如何做减法 决定停止条件-希望while循环继续,直到数字a、b和进位都变为零。换句话说,条件应该是a | | b | |进位 将下一个数字加到总和上-由于结果被编码为十进制,因此需要将数字d乘以下一个连续的十次方。一种简单的方法是添加一个新的变量m,该变量从1开始,每次迭代乘以10 有人能帮我做减法吗C# 直接减去两个八进制数而不转换为十进制数,c#,logic,octal,number-systems,C#,Logic,Octal,Number Systems,如何做减法 决定停止条件-希望while循环继续,直到数字a、b和进位都变为零。换句话说,条件应该是a | | b | |进位 将下一个数字加到总和上-由于结果被编码为十进制,因此需要将数字d乘以下一个连续的十次方。一种简单的方法是添加一个新的变量m,该变量从1开始,每次迭代乘以10 有人能帮我做减法吗 static int addition(int num1, int num2) { int sum = 0, digit = 0, carry = 0,
static int addition(int num1, int num2)
{
int sum = 0, digit = 0, carry = 0, digit_rank = 1;
// Calculate the sum
while (num1 > 0 || num2 > 0 || carry > 0)
{
// Calculate the digit
digit = num1 % 10 + num2 % 10 + carry;
// Determine if you should carry or not
if (digit > 7)
{
carry = 1;
digit %= 8;
}
else
carry = 0;
// Add the digit at the beggining of the sum
sum += digit * digit_rank;
digit_rank *= 10;
// Get rid of the digits of a and b we used
num1 /= 10;
num2 /= 10;
}
return sum;
}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv)
{
int a[4]={5,6,0,0},b[4]={3,4,5,7},c[4]={0};
int点=0;
对于(int i=3;i>-1;i--)
{
如果(a[i]==0)
{
对于(int j=3;j>-1;j--)
{
如果(a[j]!=0&&point==0)
{
a[j]=a[j]-1;
点=1;
c[i]=8-b[i];
打破
}
c[i]=7-b[i];
}
}
其他的
{
c[i]=a[i]-b[i];
}
}
对于(int i=0;i#包括
#包括
int main()
{
INTA、b、c;
printf(“输入第一个数字:”);
scanf(“%o”和“&a”);
printf(“输入第二个数字:”);
scanf(“%o”和“b”);
c=a-b;
printf(“八进制减法=%o”,c);
}
没有“十进制”或“八进制”数字,只有数字的十进制或八进制字符串表示形式。数字只是一个数字。请您解释一下您的方法好吗?请不要破坏您的帖子,为他人做更多的工作。通过在Stack Exchange(SE)上发布网络中,您已在a下授予SE分发内容的不可撤销权利(即,无论您未来的选择如何)。根据SE策略,非故意破坏版本将被分发。因此,任何故意破坏行为都将被恢复。请参阅:。如果允许删除,则会出现“删除”按钮,但它仅在浏览器中,而不是在移动应用程序中。
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(int argc, char ** argv)
{
int a[4]={5,6,0,0}, b[4]={3,4,5,7}, c[4]={0};
int point=0;
for(int i=3;i>-1;i--)
{
if(a[i]==0)
{
for(int j=3;j>-1;j--)
{
if(a[j]!=0 && point==0)
{
a[j]=a[j]-1;
point=1;
c[i]=8-b[i];
break;
}
c[i]=7-b[i];
}
}
else
{
c[i]=a[i]-b[i];
}
}
for(int i=0;i<4;i++)
{
cout<<c[i];
}
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b ,c;
printf("Enter 1st number: ");
scanf("%o",&a);
printf("Enter 2nd number: ");
scanf("%o",&b);
c=a-b;
printf("octal subtraction=%o", c);
}