float.h trong C | Thư viện C chuẩn
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 | Miêu 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 | Miêu 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:
|
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ả:
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Các bài Thư viện C phổ biến khác tại VietJack: