五进制整数的加减运算
发布网友
发布时间:2022-04-26 21:08
我来回答
共4个回答
热心网友
时间:2023-11-02 12:27
“加法”是少数几项我们从学校中学会的很有实践运用意义的技能。所幸,学习加法一点也不难。并且,针对数字的不同,可以采取不同的技巧。因此,详细的方法如下:
方法1
小数字相加运算
首先熟悉加法的概念。拿出一把小黄豆(或其它小物体)。将一些黄豆放在一边形成一堆,然后从1开始数这一堆黄豆有多少个(从1、2、3数到最后一个黄豆)。数到最后一个黄豆的数字就是这一堆黄豆的总数。在纸上记录黄豆总数的数字。然后再数另一堆有多少个黄豆。
学习“数对”。由于大多数人都习惯以10为单位计数,所以熟记和为10的一对数可以让加法更简单。掌握那些两数和为10的数对。
尽可能地将数字配对组成“数对”。尽可能地将数字和数字配对,使之和为十的倍数。
将额外部分数字相加。凑完整十数之后,再加上余下的数字,用笔算或心算将其相加即可。
仔细检查你的运算结果。只要有时间,你最好每次都用其它方法来复检你的运算结果以保证运算正确。
方法2
大数目相加运算
学习数位的概念。当你书写数字时,每个数字的位置都有其特定的名字或类型。掌握数位的概念可以帮助你正确地排列数字及运算
排列数字。在计算加法运算时,先将数字按位数从多到少来从上向下地排列数字。排列数字是为了让数字的每个相同的数位进行对齐。如果一个数字没有高位数,那么就在其左侧空出一个数位。
将第一列数字相加。从右边开始,将最右侧的一列数字相加。将相加得到的结果写在这一列的下方位置。按照该法将其它列数字相加并写下结果。
向前一个数位进位。如果个位数数字相加得到的结果在十位数上有数字,那么在左侧一栏的顶部写下十位上的数字。
计算下一栏。计算完个位数一栏,我们需要计算左侧十位上数字之和,这也包括进位的数字。然后将计算结果写在中间栏的下方。
方法3
小数的加法运算
将小数进行排列。当一个数字带有小数点时,那么你在计算小数相加时要格外仔细才行。主要的窍门就是根据小数点的位置排列所有数字。数字的小数点对齐,自成一列。
方法4
分数的加法运算
将各个分数的分母化为相同的分母。分母是分数式横线下方的数字。在计算分数相加时,你需要将分母化成相同的数字,然后将分子相加。你可以将分子分母同时乘以(或除以)一个相同的数字来
化简分数。你也许希望简化分数来方便阅读。你可以用分子和分母同时除以其相同的因数来化简分数。在本例中,我们不需要化简。因为它已经是最简形式了。但是如果你得到的是一个像3/6这样的结果,那么你需要将其进行化简。
当我们发现分子分母可以同时除以一个小数字时,我们就可以将分数化简。在本例中,我们用两者都除以3来化简,得到结果1/2。
方法5
加法技巧
凑数计算。如果你只计算几个数字的和,并且这些数字中没有恰巧可以凑成整10数的,那么你可以通过加上或者减去一个数来简化计算。
利用数字的形状。如果你想快速心算,那么分组的方法可能并不适合你。你可以利用数字的形状计算加法,而不是靠数手指。这个方法最适合用于几个数字求和的情况。
热心网友
时间:2023-11-02 12:28
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int pan(char a[])//判断是否有大于4的数
{int i=strlen(a)-1;
while(i>=0)
if(a[i]>'4')
return 0;
else i--;
return 1;
}
void jia(char a[],char b[],char c[])//将a,b相加,结果存放于c
{int i=strlen(a)-1,j=strlen(b)-1,n=99,t,q;
for(t=i,q=n;t>=0;t--,q-- )
c[q]=a[t];
for(;j>=0;j--,n--)
{c[n]=c[n]+b[j]-'0';
if(c[n]>'4')
{c[n]=c[n]-5;c[n-1]++;}}
}
void jian(char a[],char b[],char c[])//将a,b相减,结果存放于c
{int i=strlen(a)-1,j=strlen(b)-1,n=99,t,q;
for(t=i,q=n;t>=0;t--,q-- )
c[q]=a[t];
for(;j>=0;j--,n--)
if(c[n]-b[j]<0)
{c[n-1]--;c[n]=c[n]+5-b[j]+'0';}
else c[n]=c[n]-b[j]+'0';
if(c[n]<'0')
c[n]='-';
}
int main()
{char a[100],b[100],c[100],d[100];
int i,j,n,sum=0;
for(i=0;i<100;i++)
{c[i]='0';
d[i]='0';}//c,d存放结果
while (1)//判断输入是否正确
{printf("请输入二个五进制数:\n");
scanf("%s",a);
scanf("%s",b);
if(pan(a)&&pan(b))
break;}
jia(a,b,c);//调用加法 //将a,b相加,结果存放于c
for(i=0;;i++)
if(c[i]>'0')
break;
printf("\n%s+%s=",a,b);
for(;i<100;i++)
printf("%c",c[i]);
jian(a,b,d);//调用减法//将a,b相减,结果存放于d
for(i=0;;i++)
if(d[i]!='0')
break;
printf("\n%s-%s=",a,b);
if(i==100)
printf("0");
else
for(;i<100;i++)
printf("%c",d[i]);
system("pause");
}
热心网友
时间:2023-11-02 12:28
法1:可以先把五进制数换算成十进制数后进行运算,再把结果换算成五进制数
法2:做加法逢5进1,做减法不够退1.
举个例子:32+124
列出算式:
124
+
32
▁▁▁▁
211
4+2=6=5+1=11(进1);2+3+1=6=5+1=11(进1);1+1=2;结果是211
举个减法的例子:211-32
列出算式:
211
-
32
▁▁▁▁
124
个位数不够,退1,11-2=5+1-2=4;十位数不够,退1,10-3=5-3=2
结果是124
这样说应该明白了吧^^
热心网友
时间:2023-11-02 12:29
只有30分?别做梦了。
热心网友
时间:2023-11-02 12:27
“加法”是少数几项我们从学校中学会的很有实践运用意义的技能。所幸,学习加法一点也不难。并且,针对数字的不同,可以采取不同的技巧。因此,详细的方法如下:
方法1
小数字相加运算
首先熟悉加法的概念。拿出一把小黄豆(或其它小物体)。将一些黄豆放在一边形成一堆,然后从1开始数这一堆黄豆有多少个(从1、2、3数到最后一个黄豆)。数到最后一个黄豆的数字就是这一堆黄豆的总数。在纸上记录黄豆总数的数字。然后再数另一堆有多少个黄豆。
学习“数对”。由于大多数人都习惯以10为单位计数,所以熟记和为10的一对数可以让加法更简单。掌握那些两数和为10的数对。
尽可能地将数字配对组成“数对”。尽可能地将数字和数字配对,使之和为十的倍数。
将额外部分数字相加。凑完整十数之后,再加上余下的数字,用笔算或心算将其相加即可。
仔细检查你的运算结果。只要有时间,你最好每次都用其它方法来复检你的运算结果以保证运算正确。
方法2
大数目相加运算
学习数位的概念。当你书写数字时,每个数字的位置都有其特定的名字或类型。掌握数位的概念可以帮助你正确地排列数字及运算
排列数字。在计算加法运算时,先将数字按位数从多到少来从上向下地排列数字。排列数字是为了让数字的每个相同的数位进行对齐。如果一个数字没有高位数,那么就在其左侧空出一个数位。
将第一列数字相加。从右边开始,将最右侧的一列数字相加。将相加得到的结果写在这一列的下方位置。按照该法将其它列数字相加并写下结果。
向前一个数位进位。如果个位数数字相加得到的结果在十位数上有数字,那么在左侧一栏的顶部写下十位上的数字。
计算下一栏。计算完个位数一栏,我们需要计算左侧十位上数字之和,这也包括进位的数字。然后将计算结果写在中间栏的下方。
方法3
小数的加法运算
将小数进行排列。当一个数字带有小数点时,那么你在计算小数相加时要格外仔细才行。主要的窍门就是根据小数点的位置排列所有数字。数字的小数点对齐,自成一列。
方法4
分数的加法运算
将各个分数的分母化为相同的分母。分母是分数式横线下方的数字。在计算分数相加时,你需要将分母化成相同的数字,然后将分子相加。你可以将分子分母同时乘以(或除以)一个相同的数字来
化简分数。你也许希望简化分数来方便阅读。你可以用分子和分母同时除以其相同的因数来化简分数。在本例中,我们不需要化简。因为它已经是最简形式了。但是如果你得到的是一个像3/6这样的结果,那么你需要将其进行化简。
当我们发现分子分母可以同时除以一个小数字时,我们就可以将分数化简。在本例中,我们用两者都除以3来化简,得到结果1/2。
方法5
加法技巧
凑数计算。如果你只计算几个数字的和,并且这些数字中没有恰巧可以凑成整10数的,那么你可以通过加上或者减去一个数来简化计算。
利用数字的形状。如果你想快速心算,那么分组的方法可能并不适合你。你可以利用数字的形状计算加法,而不是靠数手指。这个方法最适合用于几个数字求和的情况。
热心网友
时间:2023-11-02 12:28
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int pan(char a[])//判断是否有大于4的数
{int i=strlen(a)-1;
while(i>=0)
if(a[i]>'4')
return 0;
else i--;
return 1;
}
void jia(char a[],char b[],char c[])//将a,b相加,结果存放于c
{int i=strlen(a)-1,j=strlen(b)-1,n=99,t,q;
for(t=i,q=n;t>=0;t--,q-- )
c[q]=a[t];
for(;j>=0;j--,n--)
{c[n]=c[n]+b[j]-'0';
if(c[n]>'4')
{c[n]=c[n]-5;c[n-1]++;}}
}
void jian(char a[],char b[],char c[])//将a,b相减,结果存放于c
{int i=strlen(a)-1,j=strlen(b)-1,n=99,t,q;
for(t=i,q=n;t>=0;t--,q-- )
c[q]=a[t];
for(;j>=0;j--,n--)
if(c[n]-b[j]<0)
{c[n-1]--;c[n]=c[n]+5-b[j]+'0';}
else c[n]=c[n]-b[j]+'0';
if(c[n]<'0')
c[n]='-';
}
int main()
{char a[100],b[100],c[100],d[100];
int i,j,n,sum=0;
for(i=0;i<100;i++)
{c[i]='0';
d[i]='0';}//c,d存放结果
while (1)//判断输入是否正确
{printf("请输入二个五进制数:\n");
scanf("%s",a);
scanf("%s",b);
if(pan(a)&&pan(b))
break;}
jia(a,b,c);//调用加法 //将a,b相加,结果存放于c
for(i=0;;i++)
if(c[i]>'0')
break;
printf("\n%s+%s=",a,b);
for(;i<100;i++)
printf("%c",c[i]);
jian(a,b,d);//调用减法//将a,b相减,结果存放于d
for(i=0;;i++)
if(d[i]!='0')
break;
printf("\n%s-%s=",a,b);
if(i==100)
printf("0");
else
for(;i<100;i++)
printf("%c",d[i]);
system("pause");
}
热心网友
时间:2023-11-02 12:28
法1:可以先把五进制数换算成十进制数后进行运算,再把结果换算成五进制数
法2:做加法逢5进1,做减法不够退1.
举个例子:32+124
列出算式:
124
+
32
▁▁▁▁
211
4+2=6=5+1=11(进1);2+3+1=6=5+1=11(进1);1+1=2;结果是211
举个减法的例子:211-32
列出算式:
211
-
32
▁▁▁▁
124
个位数不够,退1,11-2=5+1-2=4;十位数不够,退1,10-3=5-3=2
结果是124
这样说应该明白了吧^^
热心网友
时间:2023-11-02 12:29
只有30分?别做梦了。