常量摺疊: 計算公式**現多個常量進行計算時並且編譯器可以在編譯期間可以進行計算的,這樣原始碼中機會把結果的常量值進行替換
常量傳播:指的是在編譯期間可以計算出結果的變數轉換為常量值
優化大部分在release版本下才會優化. 但是debug版本也會優化,在不影響使用者除錯的前提下進行優化
1常量加常量
2變數加常量
注意,如果變數是像argc或者scanf函式那種在執行期間確定值的變數,是優化不了的,因為這在編譯期間計算不了,不確定
3變數加變數
1常量加常量
2變數加常量
3變數加變數
1常量減常量
2變數減常量
3變數減變數
1常量減常量
2變數減常量
int nval1 = 0x10;
printf("%d", nval1 - 5);
3變數減變數
int nval1 = 0x20;
int nval2 = 0x10;
printf("%d", nval1 - nval2);
帶冪優化概念: 帶冪優化則是我在算乘法的時候, 我可以左移幾位, 最終取得我們要的結果,這樣優化是為了減少指令週期,增加程式執行效率,當然乘法不是只有這一種優化,我寫這個只是為了讓自己了解什麼叫帶冪優化概念,優化方案肯定有好幾種的,比如上面寫的常量摺疊也是,具體優化方案看編譯器
//不帶2的冪
//常量乘常量
printf("%d\n", 5 * 5);
//變數量乘常量
int n1 = 10;
int n2 = 5;
printf("%d\n", n1*7);
//變數量乘變數
printf("%d\n", n1*n2);
//帶冪
//常量乘常量
printf("%d\n", 5 * 4);
//變數量乘常量
printf("%d\n", n1 * 4);
//變數量乘變數
int n3 = 4;
printf("%d\n", n1*n3);
//不帶2的冪
//常量乘常量
printf("%d\n", 5 * 5);
//變數量乘常量
int n1 = 10;
int n2 = 5;
printf("%d\n", n1 * 7);
//變數量乘變數
printf("%d\n", n1*n2);
//帶冪
//常量乘常量
printf("%d\n", 5 * 4);
//變數量乘常量
printf("%d\n", n1 * 4);
//變數乘變數
int n3 = 4;
printf("%d\n", n1*n3);
C 加減乘運算
using system namespace 加減乘除 return array private static int sub int array1,int array2 return array private static int mup int array1,int array2 return...
高精度加 減 乘作業
include include using namespace std intmain num2 505 int sum 505 cin a b int lena strlen a 計算長度 int lenb strlen b int len lena lenb lena lenb 倒序儲存資料 f...
「 」 「 」累乘與累加符號
是累加符號,是希臘字母 的大寫,讀做sigma,在數學上通常表示連加,小寫 就表示面密度 區別與體密度 和線密度 函式的累積求和,n取 m,k 中的連續整數值,這個變數n可以換成其他任意字母,比如x。我們把下面的 n m 和上面的 k 稱作這個和式的下標。在上下文明確的情況下,下標可以省略。求和符號...