A. c語言二維數組中怎樣表示無窮大的元素值
不知道lz是用的什麼變數來保存圖的頂點距離。int?int64_t?或者float/double?
如果說,除了所謂的「無窮大」值以外,圖頂點之間的距離全部在一個可預計范圍內,那麼可以用超過這個范圍的一些奇異值來表示「無窮」。
最常見的吧,如果用int的話,假設圖中頂點之間距離正常范圍區間為[0,2^31),那麼完全可以用-1來表示無窮大。因為正常距離肯定不應是負數。
類似的技巧可以用在其他的變數類型上。
如果說,距離的可能取值覆蓋了變數類型所有可能的取值,那沒辦法,再弄一個二維數組(矩陣)來表示「無窮大」這種狀態吧。可以用布爾矩陣(此矩陣中(x,y)位置值為true,表示為無窮大值;如值為false,則表示原先矩陣(x,y)處的值為有效值)。
此矩陣也可以採用更加節省空間的稀疏矩陣方案來實現(如使用map)
B. c語言無窮大數的表示
無窮大隻有數學理論分析有意義,一般計算機編程中,只要用一個很大的數即可。在實際應用中,不會真需要無窮大的
C. c語言中的無窮大
真正的無窮大是沒有的。 很多時候賦給它這個類型"可能的最大值」 也就可以達到要求了。 (當然也有時候這個辦法行不通,那你想別的辦法去吧)
關於這個"可能的最大值" ,有一些宏:
int型 最大 INT_MAX 最小 INT_MIN
float型 最大 FLT_MAX 最小 FLT_MIN
D. c語言中怎麼處理一個特別大的數據的運算
最簡單的辦法是將大數當作字元串進行處理,也就是將大數用10進制字元數組進行表示,
然後模擬人們手工進行「豎式計算」的過程編寫其加減乘除函數。但是這樣做效率很低,
因為1024位的大數其10進制數字個數就有數百個,對於任何一種運算,都需要在兩個有
數百個元素的數組空間上做多重循環,還需要許多額外的空間存放計算的進位退位標志
及中間結果。其優點是演算法符合人們的日常習慣,易於理解。
E. c/c++中如何定義無窮大
c/c++ 採用國際標准 IEEE-754標准表示浮點數。
有具體的規定。例如單精度,雙精度,例如符號位,實際指數,有偏移指數,指數域,尾數域。
例如,32位 單精度中的:正無窮,符號位=0,實際指數=128,有偏移指數=255,指數域=1111,尾數域=000 0000 0000 0000, 或 尾數域=0000 0000。+∞。
負無窮,符號位=1,其它與 正無窮 一樣。−∞。非數,NaN, 符號位可能是1,也可能是0,實際指數=128,有偏移指數=255,指數域=1111,尾數域= 非0 的數字。NaN。
其餘情況,請自己去查 IEEE-754。概括說:無窮 指數全1,小數位0。 非數, 指數全1,小數位 非0。正負 看符號位。
(5)c語言無限大的值擴展閱讀:
C語言的發展過程:當代最優秀的程序設計語言。
早期的C語言主要是用於UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它操作系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程序設計語言之一。
C語言是當今最流行的程序設計語言之一,它的功能豐富、表達力強、使用靈活方便、應用面廣、目標程序高、可植入性好,既有高級語言的特點,又有低級語言的許多特點,適合作為系統描述語言,既可以用來編寫系統軟體,也可以用來編寫應用軟體。
C語言誕生後,許多原來用匯編語言編寫的軟體,現在都可以用C語言編寫了(如UNIX操作系統),而學習和適用C語言要比學習和適用匯編語言容易得多。
F. c語言中的無窮大
真正的無窮大是沒有的。
很多時候賦給它這個類型"可能的最大值」
也就可以達到要求了。
(當然也有時候這個辦法行不通,那你想別的辦法去吧)
關於這個"可能的最大值"
,有一些宏:
int型
最大
INT_MAX
最小
INT_MIN
float型
最大
FLT_MAX
最小
FLT_MIN
G. c語言 怎樣宏定義最大值為正無窮
c語言 頭文件 #include <limits.h> 定義了各種類型的最大值。
浮點數最大值定義在 float.h 里,(limits.h 包含了 float.h)
例如:
#define DBL_DIG 15 // double 精度 15位數字
#define DBL_EPSILON 2.2204460492503131e-016 // 最小的數:1.0+DBL_EPSILON != 1.0
#define DBL_MANT_DIG 53 /* # of bits in mantissa */
#define DBL_MAX 1.7976931348623158e+308 // 最大值
#define DBL_MAX_10_EXP 308 //e 格式 最大指數
你可以:
#define DB_INF DBL_MAX
定義double最大值為double正無窮DB_INF
還有各種最大值(整型,無符號型,float型,32位,64位,128位。。。。)見編譯器 <limits> 有關的頭文件們。
H. C語言計算無窮級數
#include<stdio.h>int main(){int i; double x=0,t=1,y=1; scanf("%lf",&x); for(i=1;t>=0.0001;i++) {t*=x/i; if(i%2)y+=t; else y-=t; } printf("%.4lf",y); return 0;}
I. 在C語言中INT怎麼表示無窮大(小)
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。
J. c語言中if語句中條件i無限大怎麼表示
一般不需要表示,通常來說假定是if(i<xxx,a,b),這其中的b自然就表示無限大。當然,如果某些公式確定需要,excel里最大的數通常可以寫做9E+307,這是科學計數法,只是一個約定俗成的用法,並不是真正的excel里的最大數字。