float.h trong C
float.h trong C
Header file có tên float.h của Thư viện C chứa một tập hợp các hằng số đa dạng (phụ thuộc vào nền tảng) liên quan tới các giá trị số thực dấu chấm động. Các hằng này được đề xuất bởi ANSI C. Trước khi tìm hiểu các hằng này, bạn cần biết số thực dấu chấm động gồm 4 thành phần:
Thành phần | Mô tả |
---|---|
S | Dấu ( +/- ) |
b | Biểu diễn cơ số (base): hệ nhị phân là 2, thập phân là 10, thập lục phân là 16, … |
e | Số mũ (exponent), một số nguyên giữa emin và emax |
p | Số ký tự thập phân có nghĩa (Precision) |
Dựa vào 4 thành phần trên, một số thực dấu chấm động sẽ có giá trị của nó được biểu diễn như sau:
số thực dấu chấm động = ( S ) p x be hoặc số thực dấu chấm động = (+/-) precision x baseexponent
Các macro được định nghĩa trong float.h
Các giá trị sau là trình triển khai riêng và được định nghĩa với chỉ thị #define, nhưng các giá trị này không thể là chữ thường. Ghi chú rằng, tất cả FLT tham chiếu tới kiểu float, DBL tham chiếu tới double và LDBL tham chiếu tới long double.
Macro | Mô tả |
FLT_ROUNDS | Định nghĩa chế độ làm tròn cho phép cộng số thực dấu chấm động và nó có thể có bất kỳ giá trị nào sau đây: -1 − Không xác định 0 − Làm tròn về 0 1 − Làm tròn về giá trị gần nhất 2 − Hướng về dương vô cực 3 − Hướng về âm vô cực |
FLT_RADIX 2 | Định nghĩa biểu diễn cơ số của số mũ. Base-2 là hệ nhị phân, base-10 là hệ thập phân... |
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG | Các macro này định nghĩa số chữ số để biểu diễn số thực (trong FLT_RADIX base) |
FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 | Các macro này xác định số chữ số thập phân tối đa (base-10) có thể được biểu diễn mà không thay đổi sau khi làm tròn |
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP | Các macro này xác định giá trị nguyên âm nhỏ nhất cho số mũ (exponent) trong cơ số FLT_RADIX |
FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 | Các macro này xác định giá trị nguyên âm nhỏ nhất cho một số mũ (exponent) trong cơ số 10 |
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP | Các macro này xác định giá trị nguyên lớn nhất cho một số mũ (exponent) trong cơ số FLT_RADIX |
FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 | Các macro này xác định giá trị nguyên lớn nhất cho một số mũ (exponent) trong cơ số 10 |
FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 | Các macro này xác định giá trị số thực dấu chấm động lớn nhất |
FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 | Các macro này xác định chữ số có nghĩa tối thiểu mà có thể biểu diễn được |
FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 | Các macro này định nghĩa các giá trị số thực dấu chấm động nhỏ nhất |
Ví dụ
Chương trình C sau minh họa cách sử dụng của một số hằng được định nghĩa trong float.h.
#include <stdio.h> #include <float.h> int main() { printf("Gia tri max cua mot so thuc = %.10e\n", FLT_MAX); printf("Gia tri min cua mot so thuc = %.10e\n", FLT_MIN); printf("So ky so de bieu dien mot so = %.10e\n", FLT_MANT_DIG); }
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Theo Tutorialspoint
Bài trước: errno.h trong C
Bài tiếp: limits.h trong C
Bạn nên đọc
Cũ vẫn chất
-
Cách thực hiện cuộc gọi thoại hoặc video trên Telegram
Hôm qua -
Những pass wifi bằng Toán học khiến dân tình muốn nổi điên, bạn có tìm ra được đáp án
Hôm qua -
Foxit Reader
-
Cách cập nhật dữ liệu PivotTable Excel
Hôm qua -
Tổng hợp code Dynasty Warriors Overlords VNG mới nhất
Hôm qua -
Mùng 1 tết 2023 là ngày mấy dương lịch? Mùng 1 Tết năm 2023 là thứ mấy?
Hôm qua -
Cách kiểm tra dung lượng ổ cứng máy tính
Hôm qua -
Sử dụng Comments Tool trong MS Excel
Hôm qua -
8 phần mềm giả lập PlayStation tốt nhất cho PC 2024
Hôm qua -
Cách tải Direct X và cài đặt DirectX trên máy tính
Hôm qua