Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Float và Double trong C

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ểmfloatdouble
Kích thước4 byte8 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.