程式設計中無窮的表示

2021-07-29 09:34:57 字數 705 閱讀 8401

int不能表達真正的無窮大或者無窮小。

在c語言中,int為整型型別,根據不同平台不同,有16位(2位元組)和32位(4位元組)兩種,其中32位int為目前主流。

無論哪種int型別都有其表達範圍,其中

16位int能表示的範圍為-32768~+32767

32位int能表示的範圍為-2147483648~+2147483647

從這個可以看出,int是無法表達真正的無窮大和無窮小的。

但數學中的無窮大和無窮小是指一種概念上存在實際上永遠無法達到的數值,這樣在程式設計中,就可以根據程式要求使用一些值來替代無窮大和無窮小的概念。

一般有如下兩種情況:

1 程式中對處理的資料規模有限制,比如程式中輸入的數值只在0~100之間,那麼可以設定無窮大為101,而無窮小為-1。因為它們也是在使用中無法達到的值。

2 程式中對資料規模沒有明確的規定。但是既然應用的int型別,就必須是int型別可以容納的,否則出現溢位就可能導致錯誤。 這樣,可以用int所能表示的最大值和最小值用做無窮大和無窮小。

比如在32位情況下,無窮小可以是-2147483648,無窮大是2147483647。

如此長的一段資料是很難記憶的,由計算機對整型資料的儲存原理可以得知,這兩個數值的二進位制值分別為0x80000000和0x7fffffff。

類似的在16位下,無窮大為0x7fff,無窮小為0x8000。

程式設計中無窮的表示 轉

程式設計中無窮的表示 int不能表達真正的無窮大或者無窮小。在c語言中,int為整型型別,根據不同平台不同,有16位 2位元組 和32位 4位元組 兩種,其中32位int為目前主流。無論哪種int型別都有其表達範圍,其中 16位int能表示的範圍為 32768 32767 32位int能表示的範圍為...

程式設計中的無窮大

在網上看別人 的時候,經常會看到他們把inf設為0x7fffffff,因為這是32 bit int的最大值。如果這個無窮大只用於一般的比較 比如求最小值時min變數的初值 那麼0x7fffffff確實是乙個完美的選擇。if d u w u v 如果u,v之間沒有邊,那麼w u v inf,如果我們的...

python無窮大 Python 表示無窮大的數

我之前只知道設定初始值0.今天偶然在python演算法書上看到這個片段,從100個隨機數裡面找2個最靠近的自然數 不相等 from random importrandrange seq randrange 10 10 for i in range 100 dd float inf for x ins...