在 DEV C 編譯器下使用 pow 函式需要什麼樣的標頭檔案?

發布 科技 2024-07-04
13個回答
  1. 匿名使用者2024-01-30

    實現水仙花的數量(C++)。

    是 C 語言中的數學庫函式。

    #include

    #include

    using namespace std;

    int main()

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

    for (int j=0;j<=9;++j)

    for (int k=0;k<=9;++k){

    if (abs((i*100+j*10+k-pow(i*,3)-pow(j*,3)-pow(k*,3)))1e-6) continue;

    cout不能開水仙花的原因是為了判斷這句話:

    if (i*100+j*10+k-pow(i,3)-pow(j,3)-pow(k,3)) continue;

    有兩個錯誤:

    第乙個 pow(double,double),pow(float,float),你提供 pow(int,int,int),系統不知道匹配哪乙個???

    第二個 pow 返回乙個 double,你使用 if(double)??這個判斷對於if(double==0)是不正確的,假設if(,因為5可能用於double。 由於精度的原因,它應該是 if(abs(double)

  2. 匿名使用者2024-01-29

    pow 函式無法接受 int 值,更改如下所示:

    #include

    #include

    using namespace std;

    void main()

    for(float i=1;i<=9;++i)for (float j=0;j<=9;++j)for (float k=0;k<=9;++k)if (i*100+j*10+k-pow(i,3)-pow(j,3)-pow(k,3))

    continue;

    cout<浮,雙倍,長雙倍都可以。

  3. 匿名使用者2024-01-28

    #include

    如果是 C++ 風格,則為:

    #include

    對“問題”的補充:

    因為 c 中的 pow() 函式返回乙個 double,因為計算機說浮點數會有錯誤,所以在比較 int 和 float 或 double 時無法得到正確的結果,所以你可以稍微修改一下你的程式

    if(i*100+j*10+k-(int)(pow(i,3)+pow(j,3)+pow(k,3)) continue;

  4. 匿名使用者2024-01-27

    1 所有 pow 都包含在 或 cmath 標準標頭檔案中,用法為 pow(a,b),表示 a 的 b 冪。

  5. 匿名使用者2024-01-26

    CMATH 只有 pow 功能。

    這些是超載的。 您需要將第乙個引數轉換為所需的型別。 不同的編譯器有不同的要求,可能是你們的編譯器要求比較嚴格,我用的是程式碼塊,如果我像你一樣使用,我不會報錯。

  6. 匿名使用者2024-01-25

    強制指定型別。 例如:

    double d = pow((double)1, (double)3);

    如果它是乙個變數,是的。

    pow((double)a, (double)b);

  7. 匿名使用者2024-01-24

    型別 2 是乙個整數,屬於浮點數,函式宣告中的第乙個引數是浮點數,第二個引數是整數,int 到 float 和 double 可以隱式轉換,編譯器允許這種轉換,但 float 和 double 不能隱式轉換為 int,這可能會導致資料丟失, 編譯器不允許它,除非你強制轉換。

  8. 匿名使用者2024-01-23

    在 VC++ 中,原型是雙 pow(雙 x、雙 y);

    標頭檔案:cmath

    函式:計算 x 的 y 次冪。

    返回值:x不能為負數且y為小數,或x不能為負數且y小於等於0,返回冪指數的結果。

    返回型別:double, int, float 會發出警告!

    示例:包括

    #include

    int main(void)

    C++ 提供了以下過載形式的 PoW 函式:

    double pow(double x,int y);

    float pow(float x,float y);

    float pow(float x,int y);

    long double pow(long double x,long double y);

    long double pow(long double x,int y);

    使用引數時,應合理設定引數型別,避免出現多個 pow 例項與引數列表匹配的情況。

  9. 匿名使用者2024-01-22

    最好將 m = pow(2, i) 更改為 m = pow(, i),因為三個 pow 函式都沒有 int 第乙個引數。

  10. 匿名使用者2024-01-21

    由於 C++ 過載,呼叫不明確。

    您可以改用 cmath。

    或者,您可以使用強制轉換來顯式呼叫。

    例如,更改為。 m = (int)pow((long double)2,i);

    或 m = (int)pow((double)2,i);

    或者 m = (int)pow((float)2,i);

    以澄清您的電話。

  11. 匿名使用者2024-01-20

    您需要將 include 新增到程式的第一行

    在 VS2008 中,選擇“在 Vis C++ 中建立專案”,然後選擇“控制台應用程式”,然後開始編寫。 寫完**後,按 f5 就可以執行了。

    順便說一句,除了在前面加include之外,你發布的程式還有乙個不是很嚴重的問題,那就是最好在main()前面加int,也就是讓main函式返回int值,否則dev-c++(其實一般是mingw,dev-c++只是乙個shell)會發出警告, 但它可以正常編譯。

    最後,其實win7也可以和vc6一起安裝,可以正常使用。

  12. 匿名使用者2024-01-19

    您需要設定它:工具 - 編譯器選項 - 構建優化 - 構建 - 語言標準 (-std),選擇 ISO C++11。

  13. 匿名使用者2024-01-18

    g++ 編譯器會自動執行內聯函式嗎?

    G++編譯器非常先進,如果在編譯時開啟優化,G++會進行各種優化,比如:內聯合適的函式(即使沒有新增inline關鍵字),直接評估一些函式,除了G++編譯器還可以重新排序**等等。 編譯器比你更了解硬體,所以只要允許優化,他就會嘗試去做。

    您正在使用的開發 C++ IDE 使用的 C++ 編譯器是 G++。

    什麼樣的函式即使標記為內聯也無法內聯?

    例如,如果函式體太大太複雜(比如包含多個迴圈,包括遞迴呼叫),不值得內聯成本,那麼編譯器會忽略 inline 關鍵字,而 vc++ 編譯器提供關鍵字強制內聯函式,除非你很了解硬體,否則最好讓編譯器來做。 編譯不會內聯這些函式取決於特定的編譯器實現。

    內聯關鍵詞的作用是什麼?

    inline 關鍵字可以提示編譯器內聯函式並強制函式使用內部鏈結。 例如,如果在標頭檔案中定義函式,則可以新增 inline 關鍵字以防止多個定義錯誤,以防止多個定義。

    如果您對硬體了解不多,底層優化仍然留給編譯器。

    請看下面的幾個編譯器優化函式示例:

    1.編譯器直接評估函式:

    本段中的 use 函式呼叫 sum 函式,傳遞 3 和 5,並將返回值分配給外部變數 val。

    我們來看一下編譯後 use 函式生成的彙編**(64 位彙編)

    可以看出,整個使用函式只包含三條指令,並且直接優化了語句 val = sum( 3, 5 ) 將 8 賦值給 val 變數,不僅沒有函式呼叫,甚至省略了加法計算。

    2.編譯器內聯函式:

    編譯後的 use 函式的主體:

    可以看到 printf 函式的呼叫(call z6printfpkcz)直接嵌入到使用函式體中,沒有其他跳轉指令。

    3.**重新安排:

    編譯 do something 函式:

    第三條指令將 b 的值載入到 EAX 暫存器中。

    第四項指令在B中存放了34。

    第五條指令將 EAX 的值加 1(EAX 儲存前一條 B 的值)。

    第六條指令將 EAX 的值儲存到 A 中。

    可以看出,編譯器對函式的兩個語句的位置進行了更改,這種優化主要是為了優化**的執行速度,而某些CPU記憶體讀寫操作的開銷不同,因此對某些**進行重新排序可以提高程式的執行速度。

相關回答
10個回答2024-07-04

我不太了解它,所以我建議更詳細地介紹。

6個回答2024-07-04

與 一樣,它都是評論,但只有一行評論。

起始行號、結束行號 * - 這樣可以注釋幾行,中間有虛線,兩邊匹配。 >>>More

8個回答2024-07-04

執行 sudo apt-get install libstdc++5 時,可能會出現“找不到軟信譽包 libstdc++5”,在 Internet 上搜尋 ** 此檔案,得到乙個 compat-libstdc++-33 安裝包。 >>>More

7個回答2024-07-04

計畫 1 [新 P].

注[原文]: >>>More

2個回答2024-07-04

隨著微控制器硬體效能的提高,編寫應用程式更加關注程式本身的效率。 >>>More