網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > 學習教育 > 

怎麼加減整數

欄目: 學習教育 / 發佈於: / 人氣:1.85W

先把整數通分化成分數再相加減。 舉例說明如下: 1、加法:1+1/3 整數1可以寫成任何分子分母相同的分數,分母0除外,由此可得: 1+1/3=3/3+1/3=4/3。 2、減法:1-1/11 樣先把1通分成分母11的分數,即11/11,由此可得: 1-1/11=11/11-1/11=10/11

本文我們將從以下幾個部分來詳細介紹如何加減整數:“堆起來”和“消下去”、計算三重負號的情況、計算雙重負號的情況、計算負數減負數(向下挖)的問題、計算單一減法的問題

所謂“整數”是對可正可負或是零的“數”(不是1/2、 2.7這樣的不完整的數)的巧妙的叫法。(整數的例子有 3、 -12、 17、 0、 7000、 -582 等等,而非整數的例子有 4/5、 3.08、 -4.2、 -16/3等等)。加減法則如果全部寫出來的話,會比較複雜。但你只要記住,無論是正整數、負整數或正、負整數相加減,都牽扯到兩個問題:1、最終的值是堆起來,還是消下去? 2、結果是負的,還是正的?第一部分:“堆起來”和“消下去”

運算法規則: 1.整數加法計算法則 相同數位對齊,從低位加起,哪一位上的數相加滿十,就向前一位進一。 2.整數減法計算法則 相同數位對齊,從低位減起,哪一位上的數不夠減,就從它的前一位退一作十,和本位上的數合併在一起,再減。 3、整數乘法法則:

第1步:理解關鍵的概念。

整數加法是基本加法運算的一種。加法即是將二個以上的整數,合成一個數,其結果稱爲和。表達加法的符號爲加號(+)。進行加法時以加號將各項連接起來。把和放在等號(=)之後。例:1、2和4之和是7,就寫成:1+2+4=7。 整數減法法則分三種情形表

“堆起來”、“消下去”分別意味着什麼?你可以把正整數想象爲黑色的籌碼,負整數想爲紅色的籌碼,然後假設黑色和紅色的籌碼可以互相抵消。

整數加減法是從最低位(個位)開始計算,一一對應進行加減。加法運算中,如果某一數位之和超過10,則和的個位保留,十位進入高一數位。減法運算中,如果某一數位被減數小於減數,則被減數向高一數位借1,變成兩位數減一位數。 分數加減運算中,

4 + 7即4個黑籌碼放在7個黑籌碼上。最後得到: 11 黑籌碼。 因此 4 + 7 堆起來變爲 11。

整數、小數和分數加減法的相同點,就是把相同的計數單位的數相加或相減. 整數加、減計算法則: 1)要把相同數位對齊,再把相同計數單位上的數相加或相減; 2)哪一位滿十就向前一位進。 2、小數加、減法的計算法則: 1)計算小數加、減法,先把

-4 + (-7) 即4個紅色籌碼堆在7個紅色籌碼上面。最終得到:11 紅色籌碼。 因此 -4 + -7 堆起來是-11。

先把百分數化成小數,在跟整數相加減。如:78%+54=0.78+54=54.78 5-15%=5-0.15=4.85

4 + (-7) 即4個黑色籌碼堆在7個紅色籌碼上面。4個黑色籌碼和4個紅色籌碼抵消,得到 3 個剩下的紅籌碼。因此4 + -7 消下去變爲-3。

可以用數組製作。 都知道int,float,double的精度和可使用的範圍都是有限的,對於大數相減,總是會產生溢出的情況。 所以對於大數相減,認爲可以用數組來做。比如,定義一個數組a[100];a[1]用來儲存個位數,a[2]用來儲存十位數,等等。 如果a[i]

-4 + 7 即4個紅色籌碼堆在7個黑色籌碼上面。4個紅色籌碼和4個黑色籌碼抵消,得到 3 個剩下的黑籌碼。 因此 -4 + 7 消下去是3。

這對於初學者還真不簡單;要產生真正的隨機數,必須用時間函數初始化隨機種子,還有相應提示等。你參考下下面的代碼: #include#include#includeint main(){ int i,a[20],answer,score=0; srand(time(NULL)); for(i=0;i

第2步:根據題意,把籌碼堆起來,或消下去。

代碼 #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%dt",a + b); printf("%dt",a - b); printf("%dt",a * b); printf("%dt",a / b); return 0; } 執行截圖 分析C語言中的加減乘除和數學中的加減乘除一樣,不同在於符號的

4、 7、 -4、 -7四個數字無論怎麼加減組合,都符合上面四種情況之一。每種情況都要用不同方法。

代碼 #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%dt",a + b); printf("%dt",a - b); printf("%dt",a * b); printf("%dt",a / b); return 0; } 執行截圖 分析C語言中的加減乘除和數學中的加減乘除一樣,不同在於符號的

第二部分:計算三重負號的情況

首先根據小數後的位數在整數後加小數點以及相應的補0。 然後根據減法法則進行相減借位計算,最後算出正確答案即可。 舉個例子: 10 − 7.25 = 2.75 擴展資料豎式其他運算 乘法豎式計算要注意四個問題: 1、兩個數的最後一位要對齊。 2、盡

怎麼加減整數

第1步:看看哪些是“三重負號”的情況。

#include #include #include #define N 100 int main(int argc, char const *argv[]) { char arr[N] = {}; gets(arr); char brr[N] = {}; gets(brr); int len1,len2,i = 0,j = 0; len1 = strlen(arr); len2 = strlen(brr); int len = len1>len2?

比如"-4 - - 7"。

如何用位運算實現整數的加減法 位運算的思想可以應用到很多地方,這裏簡單的總結一下用位運算來實現整數的四則運算。 1.整數加法 [cpp] view plain copy 在CODE上檢視代碼片派生到我的代碼片 int Add(int a,int b) { for(int i = 1; i; i

怎麼加減整數 第2張

第2步:把減法看成加一個負數。

#include #include #include char a[1000],b[1000]; int c[1001]; int x,y,i,j,k; int blen=0; int alen=0; char flag = '+';//用於減法標記負數 int Subtract(char *a, char *b, int len) { //爲了避免代碼重複,將共同的計算抽出寫成函數 int

這裏減去-7可以看做加上7 。因此-4 - (-7)就是 -4 + (+7) 。注意4還是負數,這裏有個口訣:保變變,即保住-4,後面-號變爲+,然後-7變爲7 。然後加起來就得到答案了。

1.整數加法計算法則:相同數位對齊,從低位加起,哪一位上的數相加滿十,就向前一位進一. 2.整數減法計算法則:相同數位對齊,從低位減起,哪一位上的數不夠減,就從它的前一位退一作十,和本位上的數合併在一起,再減.

怎麼加減整數 第3張

第3步:把值消掉。

計算整數的加減法時要注意:相同數位對齊,從個位算起。計算加法時,哪能一位上的數滿十,就要向前一位進一。計算減法時,哪一位上的數不夠減,就要向前一位退一作十再計算。

把紅色籌碼和黑色籌碼消掉,最後剩下一種顏色的籌碼。

用rand()產生隨機數,rand()會產生從0到一個很大的數,我記不清了,反正很大。如果想出現100以內的,就用rand()%100。你可以定義三個int型整數,兩個表示加或者減的對象,另一個標示加或者減,因爲只要出現兩種情況之一,所以可以用rand()%2,這

怎麼加減整數 第4張

第4步:決定答案符號。

如果你說的是筆算 當然得按位算減法了。 每個數位上的數字都有不同的權比如十位的權是10,而個位是1 如果直接做減法就錯了。 如果你問的是計算機系統位對齊,尋址減法要求的數據必須是被減數的存儲大校 不然SUB指令無法爲計算器數據線設定輸入電

如果黑色籌碼較多,則得到答案是正數,如果紅的多,則答案是負數。

運算法規則: 1.整數加法計算法則 相同數位對齊,從低位加起,哪一位上的數相加滿十,就向前一位進一。 2.整數減法計算法則 相同數位對齊,從低位減起,哪一位上的數不夠減,就從它的前一位退一作十,和本位上的數合併在一起,再減。 3、整數乘法法則:

例如: -4 - (-7) 變爲 -4 + (+7) ,即相當於(-4) + 7,得到3。

減法是四則運算之一,從一個數量中減去另一個數量的運算叫做減法; 已知兩個加數的和與其中一個加數,求另一個加數的運算叫做減法。 表示減法的符號是“-”,讀作減號。用來計算減量。 借位計算 減法不一定要硬算,也可以簡算。這個方法適用於學前

例如: -12 - (-2) 變爲 -12 + +2 ,即相當於-12 + 2,得到-10。

運算法則 1.整數加法計算法則: 相同數位對齊,從低位加起,哪一位上的數相加滿十,就向前一位進一. 2.整數減法計算法則: 相同數位對齊,從低位加起,哪一位上的數不夠減,就從它的前一位退一作十,和本位上的數合併在一起,再減. 3.整數乘法計算法則:

第三部分:計算雙重負號的情況

運算法規則: 1. 整數加法計算法則: 相同數位對齊,從低位加起,哪一位上的數相加滿十,就向前一位進一。 2. 整數減法計算法則: 相同數位對齊,從低位減起,哪一位上的數不夠減,就從它的前一位退一作十,和本位上的數合併在一起,再減。

怎麼加減整數 第5張

第1步:看看有什麼問題符合 "4 - (-7)"的情況。

#include int main(){ int a, b; scanf("%d %d", &a, &b); printf("%d + %d = %dn", a, b, a + b); printf("%d - %d = %dn", a, b, a - b); printf("%d * %d = %dn", a, b, a * b); printf("%d / %d = %dn", a, b, a / b); return 0;}

這種情況我們稱之爲雙重負號。

當然可以 int a[10]; int *p =&a[5]; p += 3; // p就指向了a[8] p -= 3; // p就又指向了a[5]

怎麼加減整數 第6張

第2步:

把雙重負號變爲雙重正號

整數加減法的計算方法,需要注意什麼。計算一位小數加減法時要注意什 整數加減法應注意:相同數位對齊 小數加減法應注意:小數點對齊 分數加減法應注意:分母不同時 要先通分 再計算

我們把4 - (-7) 變爲 4 + (+7)。

用rand()產生隨機數,rand()會產生從0到一個很大的數,我記不清了,反正很大。如果想出現100以內的,就用rand()%100。你可以定義三個int型整數,兩個表示加或者減的對象,另一個標示加或者減,因爲只要出現兩種情況之一,所以可以用rand()%2,這

怎麼加減整數 第7張

第3步:

將值堆起來。

先乘除,後加減,有括號的先算括號裏的. 整數加、減計算法則: 1)要把相同數位對齊,再把相同計數單位上的數相加或相減; 2)哪一位滿十就向前一位進。 2、小數加、減法的計算法則: 1)計算小數加、減法,先把各數的小數點對齊(也就是把相同數

把所有籌碼(這裏已經全部變爲黑色了)合併起來 。

怎麼加減整數 第8張

第4步:

得到答案是正數。

例如 4 - (-7) 變爲 4 + (+7)或者直接寫 4 + 7等於11。

例如 15 - (-3) 變爲 15 + (+3) 或者直接寫15 + 3 等於18。

第5步:檢查一下。

如果首數字是負數,則你可能寫錯符號,或該題符合“三重負號”的情況,不符合本情況。

第四部分:計算負數減負數(向下挖)的問題

怎麼加減整數 第9張

第1步:

看看題目是否符合"-4 - 7。

"

這裏就不是 "雙重負號" 了,因爲負號不在一起。

這裏可以看成“挖地”的步驟,這樣可以讓你更容易想象點。從水平面開始挖,往下挖 4 英尺 (即-4),然後挖 7 英尺 (即再減7)。最終答案:你往下挖了11 英尺 ,因此 -4 - 7 = -11。

怎麼加減整數 第10張

第2步:

不要消成"加加"。

怎麼加減整數 第11張

第3步:

可以把減一個數變成加個負數。

比如 -4 - 7 變爲-4 + (-7)。

怎麼加減整數 第12張

第4步:

把值“堆起來”。

把所有的籌碼堆起來(此時應該都是紅的),變成一整堆籌碼。

怎麼加減整數 第13張

第5步:

把答案改成負數。

例如: -18 - 5 變爲 -18 + (-5),得到 -23。

例如: -4 - 7 變爲 -4 + (-7), 得到-11。

第五部分:計算單一減法的問題

怎麼加減整數 第14張

第1步:

看看算式是否符合"4 - 7" 或 "7 - 4"這樣的形式。

怎麼加減整數 第15張

第2步:

把減法看成加個負數。

因此 4 - 7 變爲 4 + -7。

怎麼加減整數 第16張

第3步:

消掉值。

把紅色籌碼和黑色籌碼消掉,直到你只剩下一個顏色。

怎麼加減整數 第17張

第4步:

確定答案是正的還是負的。

如果之前黑色籌碼較多,則答案是正的;如果紅的較多,則答案是負的。

例如: 6 - 19 變爲6 + (-19) 即-13。

例如: 12 - 30變爲12 + (-30), 即-18。

第5步:如果第一個數大於第二個數,如"7 - 4",則可以按一般減法處理: 7 - 4 = 3。

你也可以寫成7 + (-4),不過也是沒必要的。

例如: 38 - 15 可以直接運算,也可以變爲38 + (-15)。 無論用哪種方式,都得到23。

小提示

加法還是加法,只有減法需要倒過來。

-4 + (-7) "堆起來變爲" -11。這裏的堆起來意思是把絕對值加起來。比如-4+(-7)= -11,我們直到-11 實際上比-4 、 -7 要小,但是我們爲了要讓你更好想象,所以就說成是一大堆紅色籌碼。因此我們說 -4 + (-7) 是堆起來的過程。

可以用下面的表格:

4 和 7加減運算可能得到的答案
得到 11得到 -11得到 -3得到 3
4 + 7-4 + (-7)4 + (-7)-4 + 7
4 - (-7)-4 - 74 - 7-4 - (-7)
7 - (-4)-7 - 4-7 - (-4)7 - 4

擴展閱讀,以下內容您可能還感興趣。

輸入兩個整數,進行加減乘除四則運算的c語言程序怎麼寫啊,拜託了~

代碼

#include<stdio.h>

int main()

{

int a,b;

scanf("%d %d",&a,&b);

printf("%dt",a + b);

printf("%dt",a - b);

printf("%dt",a * b);

printf("%dt",a / b);

return 0;

}

執行截圖

分析

C語言中的加減乘除和數學中的加減乘除一樣,不同在於符號的表示問題,乘號需要用“*”表示。除號需要用“/”表示。新手學習C語言,很容易把除號和取餘好混淆,強調一下,取餘號是“%”,百分號就是取餘的意思。因此在輸入兩個整數以後,按照數學方法就可以直接輸出結果,整數的輸入用scanf()函數。

整數減小數如何列豎式

首先根據小數後的位數在整數後加小數點以及相應的補0。

然後根據減法法則進行相減借位計算,最後算出正確答案即可。

舉個例子:

10 − 7.25 = 2.75

擴展資料

豎式其他運算

乘法豎式計算要注意四個問題:

1、兩個數的最後一位要對齊。

2、儘量把數字多的數寫在上面,數字少的數寫在下面,以減少乘的次數。

3、如果兩個數的末尾有“0”,寫豎式時可以只將“0”前面的數的最後一位對齊,最後在豎式積的後面添上兩個數共有的“0”的個數。

4、小數乘法要根據小數的倍數確定積的小數點的位置。

除法豎式注意事項:

1、列豎式時,商的個位要與被除數的個位對齊。

2、商和除數的積寫到被除數的下面。

3、最後在積的下面畫橫線。

4、橫線下寫上被除數與商和除數的積的差。

C語言中怎麼實現兩個超大整數的相加減乘除

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#define N 100

int main(int argc, char const *argv[])

{

char arr[N] = {};

gets(arr);

char brr[N] = {};

gets(brr);

int len1,len2,i = 0,j = 0;

len1 = strlen(arr);

len2 = strlen(brr);

int len = len1>len2?len1:len2; 

/*  c99之後數組初始化支援整型表達式,稱爲可變長數組,但按照c89的標準是不對的

int num1[len]; //將字元串轉換成翻轉的整型數組

int num2[len];

*/

int* num1 = (int*)malloc(len*sizeof(int));

int* num2 = (int*)malloc(len*sizeof(int));

for (i = 0; i < len; i++)

{

num1[i] = i<len1 ? arr[len1-i-1]-'0':0;

}

for (j = 0; j < len; j++)

{

num2[j] = j<len2 ? brr[len2-j-1]-'0':0;

}

//int sum[len]; //定義和數組 

int* sum = (int*)malloc(len*sizeof(int));

int flag=0; //設進位符

for (i = 0; i < len; i++)

{

sum[len-1-i] = (num1[i]+num2[i]+flag)%10;

flag = (num1[i]+num2[i]+flag)/10;

}

if (flag == 1) printf("1");   //如果最高位有進位 則輸出一個1 

for (i = 0; i < len; i++)

{

printf("%d",sum[i]);

}

printf("n");

free(num1);

free(num2);

free(sum);

num1 = NULL;

num2 = NULL;

sum = NULL;

return 0;

}

擴展資料:

gets()函數用法

gets是從標準輸入設備讀字元串函數。

函數原型:char*gets(char*str);

功能爲:從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作爲讀取串的內容,讀取的換行符被轉換爲‘\0’空字元,並由此來結束字元串。

注意:不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。使用時需要包含stdio.h頭檔案

參數

str爲字元串指針,用來存放讀取到的數據。

返回值

讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值爲NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。

如何用位運算實現整數的加減法

如何用位運算實現整數的加減法

位運算的思想可以應用到很多地方,這裏簡單的總結一下用位運算來實現整數的四則運算。

1.整數加法

[cpp] view plain copy 在CODE上檢視代碼片派生到我的代碼片

int Add(int a,int b)

{

for(int i = 1; i; i <<= 1)

if(b & i)

for(int j = i; j; j <<= 1)

if(a & j) a &= ~j;

else {a |= j; break;}

return a ;

}

我的思路主要是利用a+1的位運算就是最左端(從第0位開始向左)連續的1變爲0,原先a中爲0的位置最低那一位變爲1。

在不同的位上加1,那就是從相應的位開始向左計算,右邊不變。

下面還有一個網上的思路,我覺得這個更好:

[cpp] view plain copy 在CODE上檢視代碼片派生到我的代碼片

int Add(int a,int b)

{

if(b == 0) return a;//沒有進位的時候完成運算

int sum,carry;

sum = a ^ b;//完成第一步沒有進位的加法運算

carry=(a & b) << 1;//完成第二步進位並且左移運算

return Add(sum,carry);//進行遞歸,相加

}

C語言 大整數加減法

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char a[1000],b[1000];

int c[1001];

int x,y,i,j,k;

int blen=0;

int alen=0;

char flag = '+';//用於減法標記負數

int Subtract(char *a, char *b, int len) { //爲了避免代碼重複,將共同的計算抽出寫成函數

int i;

for (i=len-1; i>=0; i--) {

if (a[i] < b[i]) {

c[i] = a[i] + 10 - b[i];

b[i-1]++;

} else {

c[i] = a[i] - b[i];

}

}

return 0;

}

int Subtraction(){

for (i=0;i<100;i++)

{

scanf("%c",&b[i]);

if(b[i]=='\n')

break;

blen++;

}

printf("=");

if(alen>blen)

{

x=(alen-blen);

for(i=blen-1;i>=0;i--)

{

alen--;

b[alen]=b[i];

}

for (i=0;i<x;i++)

b[i]='0';

alen=blen+x;

blen=alen;

} else if (blen > alen) {

x=(blen-alen);

for(i=alen-1;i>=0;i--)

{

blen--;

a[blen]=a[i];

}

for (i=0;i<x;i++)

a[i]='0';

blen=alen+x;

alen=blen;

}

for (i=alen-1;i>=0;i--) {

a[i]=a[i]-'0';

b[i]=b[i]-'0';

}

if (strcmp(a, b) > 0) {

Subtract(a, b, alen);

}else {

flag = '-';

Subtract(b, a, alen);

}

return 0;

}

int Addition(){

for (i=0;i<100;i++)

{ scanf("%c",&b[i]);

if(b[i]=='\n')

break;

blen++;

}

printf("=");

if(alen>blen)

{

x=(alen-blen);

for(i=blen-1;i>=0;i--)

{

alen--;

b[alen]=b[i];

}

for (i=0;i<x;i++)

b[i]='0';

alen=blen+x;

} else if (blen > alen) {

x=(blen-alen);

for(i=alen-1;i>=0;i--)

{

blen--;

a[blen]=a[i];

}

for (i=0;i<x;i++)

a[i]='0';

blen=alen+x;

alen=blen;

}

for (i=alen-1;i>=0;i--) {

a[i]=a[i]-'0';

b[i]=b[i]-'0';

if(c[i+1]+a[i]+b[i]>=10)

{

c[i]=(c[i+1]+a[i]+b[i])/10;

c[i+1] = (c[i+1]+a[i]+b[i])%10;

}

else

{

c[i+1]+=(a[i]+b[i]);

}

}

return 0;

}

int main()

{

for (i=0;i<100;i++)

a[i]=0;

for (i=0;i<100;i++)

b[i]=0;

for (i=0;i<101;i++)

c[i]=0;

for (i=0;i<100;i++)

{

scanf("%c",&a[i]);

if(a[i]=='+')

{

Addition();

goto output1;

}

if(a[i]=='-')

{

Subtraction();

goto output2;

}

alen++;

}

output1:

{

for (i=0;i<=alen;i++)

printf("%d",c[i]);

return 0;

}

output2:

{

printf("%c", flag);

for (i=0;i<alen;i++)

printf("%d",c[i]);

return 0;

}

}

代碼執行結果:

123456789-12345

=+123444444

Terminated with return code 0

Press any key to continue ...

123456+111111

=0234567

Terminated with return code 0

Press any key to continue ...

1000000-1

=+0999999

Terminated with return code 0

Press any key to continue ...

1-1000000

=-0999999

Terminated with return code 0

Press any key to continue ...

//對你的代碼作了! 希望有助於你的學習。

Tags:加減 整數