簡體   English   中英

C ++中整數類型的正無窮大

[英]positive and negative infinity for integral types in c++

我正在閱讀有關c ++中正負無窮大的信息。

我讀到整數類型沒有無限值,即。 std::numeric_limits<int>::infinity(); 將無法工作,但std::numeric_limits<int>::max(); 將起作用,並將代表可以由整數類型表示的最大可能值。

所以std::numeric_limits<int>::max(); 整數類型的positive infinite limit整數可以看作是它的positive infinite limit

還是整數類型只有max valueinfinity value不是真的?

整數始終是有限的。

通過將整數設置為其最大值,可以最接近所需的值,對於帶符號整數,最大值約為20億。

std :: numeric_limits具有has_infinity成員,您可以使用該成員檢查所需的類型是否具有無限表示形式,該表示形式通常僅針對浮點數,例如float和double。

浮點數具有一個特殊的位模式,以指示“值是無窮大”,當某些運算的結果定義為無窮大時使用。

整數值具有設置的位數,並且所有位均用於表示數字值。 沒有“特殊位模式”,這與位位置的總和無關。

編輯:在我的《 AMD64體系結構程序員手冊》的精裝本第315頁上,它說

無窮。 無窮大是一個正數或負數+∞和-∞,其中整數位為1,有偏指數為最大值,分數為0。無窮大是可以浮點格式表示的最大值,負無窮小大於任何有限數,並且正無窮大大於任何有限數(即仿射感)。

當將非零,非無限數除以0或乘以無窮大,或者將無窮大加到無窮大或加到0時,就會產生無限大結果。 例如,將任何浮點數加到+∞都會得到+∞的結果。算術比較在無限上正確工作。 僅當使用無窮大作為源操作數構成無效操作時,才會發生異常。

(任何打字錯誤都是我的)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM