C++編程之ERANGE(範圍錯誤)

2021-01-15 我的視頻很不錯

C 庫宏 ERANGE表示一個範圍錯誤,它在輸入參數超出數學函數定義的範圍時發生,errno 被設置為 ERANGE.而errno是在程序執行過程中設置的保存錯誤代碼的全局宏,以及用於顯示的錯誤代碼的等效字符串。下面的實例演示了 ERANGE 宏的用法。

#include <stdio.h>

#include <errno.h>

#include <math.h>

#include <iostream>

using namespace std;

int main()

{

double x;

double value;

x = 5.000000;

value = log(x);

if (errno == ERANGE)

{

cout <<"Log("<<x<<") is out of range" << endl;

}

else

{

cout << "Log(" << x << ") ="<<value << endl;

}

x = 3.000000;

value = log(x);

if (errno == ERANGE)

{

cout << "Log(" << x << ") is out of range" << endl;

}

else

{

cout << "Log(" << x << ") =" << value << endl;

}

x = 0;

value = log(x);

if (errno == ERANGE)

{

cout << "Log(" << x << ") is out of range" << endl;

}

else

{

cout << "Log(" << x << ") =" << value << endl;

}

system("pause");

return 0;

}

相關焦點

  • Python程式設計師最常犯的10個錯誤,你中招了嗎?
    事實上,Python的這種工作方式較為獨特,會導致一些編程錯誤,例如:>>> x = 10>>> def foo():... x += 1... print x...
  • PAM範圍廣、高特異性和活性的工程化ScCas9
    PAM範圍廣、高特異性和活性的工程化ScCas9 作者:小柯機器人 發布時間:2020/5/12 15:07:18 美國麻省理工學院Pranam Chatterjee研究團隊宣布他們研製了具有廣泛原間隔子相鄰基序
  • java教程之Java編程基礎
    因此Java的語法和c++的語法計劃一模一樣。下面簡單介紹一下Java的具體語法。一、Java的詞法1、標識符標識符是類、變量和方法等的名字,作用是讓編譯器能夠識別它們。在Java語言中,標識符可以包含數字、字母、下劃線(_)和美圓符號($),但是不能以數字作為開頭。
  • 基於C++的電力潮流計算牛-拉法與P-Q法的分析比較
    編程時定義節點信息結構體(BusData)和支路信息結構體(BranchData)。通過ifstream DataFile(filename.c_str())語句打開數據輸入文件,對輸入文件數據流操作,將相應信息導入與之對應的結構體變量,完成輸入文件模塊化。
  • 信息學競賽需要掌握哪些程式語言知識
    一、程式語言選擇信息學聯賽主要考的是程序設計,選擇合適的參賽程式語言是首要選擇,信息學競賽的程式語言有三種:pascal語言、c語言、c++語言,pascal語言將於2022年停止在信息學競賽中使用,所以現在學習pascal語言意義不大,剩下的只有選擇c語言和c++語言,實際考試中絕大多數考生選擇
  • Python的range函數與for循環語句
    ● 使用for循環語句迭代序列對象● 掌握range函數的使用方法Python提供的另外一個循環結構就是for循環語句,Python提供的for循環語句和Java、C++等程式語言提供的for語句不同,Python中的for循環更像是shell或是腳本語言中的foreach循環。
  • 最適合人工智慧開發的程式語言優缺點對比
    就像大多數軟體應用程式的開發一樣,開發人員也在使用多種語言來編寫人工智慧項目,但是現在還沒有任何一種完美的程式語言是可以完全速配人工智慧項目的。程式語言的選擇往往取決於對人工智慧應用程式的期望功能。關於最佳人工智慧程式語言的爭論從未停止,所以本文就來比較5種人工智慧項目最常用的程式語言,並列出它們的優缺點。
  • 50 年來最具影響力的十大程式語言!
    「適者生存」的自然法則在應用競爭激烈的程式語言界同樣適用,而在數百種程式語言中,相對而言,哪些最具影響力?哪些才是開發者們最值得關注的?每個程式設計師都應該知道Dennis Ritchie和他對編程世界的貢獻。C++ — Bjarne StroustrupBjarne Stroustrup在1950年12月30日生於丹麥奧爾胡斯,是一名丹麥計算機科學家,以創造和開發c++程式語言而聞名。顧名思義,c++是在C流行時代作為下一代語言開發的。
  • LabVIEW編程實例:如何求解自然常數e
    它的一個經典的數學定義公式是:使用計算機計算e的值時,可以使用下面的公式近似計算:那麼在LabVIEW中如何編程實現求解這個公式即e的值呢?編程思路從上面的近似公式可以看出,e的值與n的階乘有關,可將上式分解為兩個步驟:求解n的階乘:n!=1×2×3×......
  • 多項研究開發出可增強基因組編輯範圍的新型CRISPR/Cas9工具
    CRISPR的應用範圍從治療遺傳疾病到農作物的營養功效,它已經成為最有前景的基因組編輯工具之一。然而,Cas9酶依賴特定的DNA郵政編碼來確定切割和編輯的位置。雖然來自釀膿鏈球菌的Cas9(SpCas9)受到最廣泛使用,但是它需要靶位點旁邊存在兩個G鹼基。只有不到10%的DNA序列符合這一要求。
  • 基於模板元編程的量綱檢測方法
    1 模板元編程(TMP)技術  在C++程序設計語言中,模板元編程是實現代碼重用的一種重要機制。下面首先對模板元編程技術進行介紹,然後給出TADA方法中需要使用的幾個基本的模板元程序。  1.1 模板元編程簡介  模板可以將類型定義為參數,以提高代碼的可重用性。模板包括類模板和函數模板等。
  • 有限元方法入門編程
    今天說一下有限元方法入門編程。  問題描述  我們有如下問題,要求解u(x)。理論部分如下,選定基函數,基函數屬于勒貝格空間(見附錄),我們對目標微分方程兩邊乘以測試函數後分部積分,得到弱格式,最終得到一個線性系統,求解線性方程即可得到微分方程的近似解。
  • pytorch編程之對抗生成
    但是,總的來說,總體目標是向輸入數據添加最少的擾動,以引起所需的錯誤分類。攻擊者的知識有幾種假設,其中兩種是:白盒和黑盒。 白盒攻擊假定攻擊者具有完整的知識並可以訪問模型,包括體系結構,輸入,輸出和權重。 黑盒攻擊假定攻擊者僅有權訪問模型的輸入和輸出,並且對底層體系結構或權重一無所知。目標也有幾種類型,包括錯誤分類和源/目標錯誤分類。
  • Python NumPy面向數組的編程(附詳細代碼)
    NumPy的不同之處在於它提供的面向數組的編程風格。即代替使用條件for循環來處理所述陣列元件(或嵌套的for循環,當涉及到n維時),它提供了函數式、矢量化與內部迭代,使該陣列的操作更為便捷。在本文中,你將發現從全部初學者到高級的10多個綜合主題所涵蓋的知識。
  • 深圳樂博C++少兒編程培訓
    為什麼要讓孩子學C++編程1.提升孩子邏輯思維能力2.培養孩子的創新能力3.全國競賽,助力升學4.人工智慧時代必修課樂博樂博特色課程亮點樂博C++階段教學目標感受編程與數學之間的關係,完成較複雜應用程式的編寫。 深入學習隊列、遞歸、遞推、枚舉、貪心等知識點,結合第一期所學基礎知識點,掌握經典數據結構和算法。 進一步讓學生對深搜、動態規劃、併查集、博弈論等較難知識點進行深度剖析。
  • 周以真(Jeannette M. Wing)教授論文《計算思維》編程思維究竟是...
    什麼是編程思維?以下是周以真(Jeannette M. Wing)教授寫的的一篇論文《計算思維(Computational Thinking)》。計算思維的覆蓋面更廣,也同樣能夠解釋什麼是編程思維。計算思維涵蓋了反映計算機科學之廣泛性的一系列思維活動。當求解一個特定的問題時,我們會問:解決這個問題有多困難?怎樣才是最佳的解決之道?計算機科學根據堅實的理論基礎來準確地回答這些問題。表明問題的困難程度是為了考量機器——就是用來運行其解的計算工具之基本能力。我們必須考慮機器的指令系統、它的資源約束和它的操作環境。
  • DSP編程技巧之24---C/C++與彙編語言的交互之-(2)從C/C++代碼調用...
    在C/C++與彙編語言混合編程的情況下,一般我們都會選擇C/C++來實現所期待的大部分功能,對於少數和硬體關聯度高(例如操作某些CPU寄存器)以及對運算的實時性要求高(例如高速、多點的FFT)的功能才使用彙編來實現,這就使得大多數情況下,C/C++與彙編的交互都是從C/C++代碼調用彙編代碼中的函數與變量,所以在此我們就來看一下這種調用的規則。
  • C++程式設計師的職業生涯規劃
    對多線程環境編程有一定的理解,能獨立完成伺服器端模塊的開發、維護和優化; 4.有Linux平臺相關開發經驗的優先考慮; 3年以上網路遊戲後臺開發經驗; 精通Linux作業系統,具備紮實的Linux環境編程能力; 精通C++程式語言並具備豐富的面向對象編程經驗; 精通網絡編程並有高並發系統的開發經驗; 熟悉MYSQL或其他大型資料庫,能夠快速根據需求完成高性能資料庫設計; 1、本科以上學歷,計算機
  • 哪一個才更適合編程實現深度神經網絡?
    編程實現神經網絡的最佳框架是什麼?TensorFlow還是PyTorch?我的回答是:別擔心,你從哪一個入門,你選擇哪一個並不重要,重要的是自己動手實踐!下面我們開始吧!tf.optimizers.SGD(lr=0.01), metrics = ['accuracy'] )在PyTorch下則是這樣的:criterion = torch.nn.NLLLoss() optimizer = torch.optim.SGD(modelPT.parameters(), lr=0.01)e)