Float (32-bit)
float là kiểu dữ liệu biểu diễn số thực dấu chấm động đơn độ chính xác (single precision) theo chuẩn IEEE 754: 1 bit dấu, 8 bit mũ, 23 bit trị số. Độ chính xác khoảng 6 chữ số thập phân.
Cú pháp
float ten_bien;
Ví dụ
#include <stdio.h>
#include <string.h>
int main() {
float x = 10.327;
int y = 28;
printf("Gia tri float: %f\n", x);
printf("Tong float + int: %f\n", (x + y));
return 0;
}
Kết quả
Gia tri float: 10.327000 Tong float + int: 38.327000
Double (64-bit)
double là kiểu số thực dấu chấm động kép độ chính xác (double precision) IEEE 754: 1 bit dấu, 11 bit mũ, 52 bit trị số. Độ chính xác khoảng 15 chữ số thập phân.
Cú pháp
double ten_bien;
Ví dụ
#include <stdio.h>
#include <string.h>
int main() {
float x = 10.327;
double y = 4244.546;
int z = 28;
printf("Gia tri float: %f\n", x);
printf("Gia tri double: %f\n", y);
printf("Tong float + double + int: %f\n", (x + y + z));
return 0;
}
Kết quả
Gia tri float: 10.327000 Gia tri double: 4244.546000 Tong float + double + int: 4282.873000
So sánh nhanh
| Đặc điểm | float | double |
|---|---|---|
| Kích thước | 4 byte | 8 byte |
| Độ chính xác | ~6 chữ số | ~15 chữ số |
| Phạm vi | ±3.4e±38 | ±1.7e±308 |
| Specifier in/out | %f | %lf (scanf), %f (printf) |
Khuyến nghị: Mặc định dùng double cho tính toán số thực trừ khi cần tiết kiệm bộ nhớ (mảng lớn) hoặc yêu cầu GPU/graphics dùng float.