Pustaka Standard C - <float.h>
Pengenalan
Fail pengepala float.h perpustakaan standard C mengandungi set pemalar bergantung pada platform yang berkaitan dengan nilai titik terapung. Pemalar ini diperkenalkan oleh ANSI C, yang menjadikan program lebih mudah alih. Sebelum menerangkan pemalar ini, sebaiknya fahami bahawa nombor titik terapung terdiri daripada empat elemen berikut:
Komponen | Perihalan komponen |
---|---|
S | Simbol ( +/- ) | tr>
b | Asas bagi eksponen, 2 mewakili perduaan, 10 mewakili perpuluhan, 16 mewakili perenambelasan, dsb... | Eksponen, satu antara nilai minimum
|
p | Ketepatan, bilangan digit bererti dalam asas b |
Berdasarkan 4 komponen di atas, nilai nombor titik terapung adalah seperti berikut:
titik terapung = ( S ) p x be
atau
titik terapung = (+/-) ketepatan x asaseksponen
makro perpustakaan
Nilai berikut adalah khusus Pelaksanaan dan ditakrifkan melalui arahan #define, nilai ini tidak boleh lebih rendah daripada nilai yang diberikan di bawah. Ambil perhatian bahawa semua kejadian FLT merujuk kepada apungan jenis, DBL untuk menaip dua kali, dan LDBL untuk menaip dua kali ganda.
Makro | Penerangan | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FLT_ROUNDS | Tentukan mod pembundaran penambahan titik terapung, yang boleh menjadi mana-mana nilai berikut:
| tr> ||||||||||||||||||||||||
FLT_RADIX 2 | Makro ini mentakrifkan asas perwakilan eksponen. Asas 2 mewakili perduaan, asas 10 mewakili perpuluhan, dan asas 16 mewakili perenambelasan. | ||||||||||||||||||||||||
<🎜>FLT_MANT_DIG<🎜><🎜>DBL_MANT_DIG<🎜><🎜>LDBL_MANT_DIG<🎜> | Makro ini mentakrifkan nombor asas FLT_RADIX bagi digit. | ||||||||||||||||||||||||
<🎜>FLT_DIG 6<🎜><🎜>DBL_DIG 10<🎜><🎜>LDBL_DIG 10<🎜> | Makro ini menentukan pembundaran Masuk tidak mengubah nilai maksimum nombor perpuluhan yang diwakili (asas 10). | ||||||||||||||||||||||||
<🎜>FLT_MIN_EXP<🎜><🎜>DBL_MIN_EXP<🎜><🎜>LDBL_MIN_EXP<🎜> | Makro ini menentukan apabila pangkalannya ialah FLT_RADIX Nilai integer negatif terkecil bagi eksponen. | ||||||||||||||||||||||||
<🎜>FLT_MIN_10_EXP -37<🎜><🎜>DBL_MIN_10_EXP -37<🎜><🎜>LDBL_MIN_10_EXP -37<🎜> | Makro ini Mentakrifkan nilai integer negatif terkecil untuk eksponen dalam asas 10. | ||||||||||||||||||||||||
<🎜>FLT_MAX_EXP<🎜><🎜>DBL_MAX_EXP<🎜><🎜>LDBL_MAX_EXP<🎜> | Makro ini menentukan apabila pangkalannya ialah FLT_RADIX Nilai integer maksimum bagi eksponen. | ||||||||||||||||||||||||
<🎜>FLT_MAX_10_EXP +37<🎜><🎜>DBL_MAX_10_EXP +37<🎜><🎜>LDBL_MAX_10_EXP +37<🎜> | Makro ini Mentakrifkan nilai integer maksimum eksponen dalam asas 10. | ||||||||||||||||||||||||
<🎜>FLT_MAX 1E+37<🎜><🎜>DBL_MAX 1E+37<🎜><🎜>LDBL_MAX 1E+37<🎜> | Makro ini mentakrifkan nilai titik terapung terhingga terbesar. | ||||||||||||||||||||||||
<🎜>FLT_EPSILON 1E-5<🎜><🎜>DBL_EPSILON 1E-9<🎜><🎜>LDBL_EPSILON 1E-9<🎜> | Makro ini mentakrifkan nombor bererti terkecil yang boleh diwakili. | ||||||||||||||||||||||||
<🎜>FLT_MIN 1E-37<🎜><🎜>DBL_MIN 1E-37<🎜><🎜>LDBL_MIN 1E-37<🎜> | Makro ini menentukan nilai titik terapung minimum. |
#include <stdio.h>#include <float.h>int main(){ printf("The maximum value of float = %.10e\n", FLT_MAX); printf("The minimum value of float = %.10e\n", FLT_MIN); printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);}<🎜> Mari kita susun dan jalankan program di atas, yang akan menghasilkan keputusan berikut: <🎜>
The maximum value of float = 3.4028234664e+38The minimum value of float = 1.1754943508e-38The number of digits in the number = 7.2996655210e-312<🎜>