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

Gán số nguyên cho float và so sánh trong C/C++

Integer (int): kiểu số nguyên (không phần thập phân).

Float: kiểu số thực (có phần thập phân).

Khi gán int cho float, giá trị giữ nguyên nhưng biểu diễn khác. Khi gán float cho int, phần thập phân bị cắt bỏ.

Ví dụ 1: Gán giá trị int

float f = 23; unsigned int x = 23;
// f = 23.0, x = 23
f = 0xffffffff; x = 0xffffffff;
// f = 4.29497e+09, x = 4294967295

Ví dụ 2: Gán giá trị float

float f = 23.768; unsigned int x = 23.768;
// f = 23.768, x = 23 (phần thập phân bị mất)

Ví dụ 3: So sánh

float f = 0xffffffff; unsigned int x = 0xffffffff;
if (f == x) printf("TRUE"); else printf("FALSE");
// Output: TRUE (vì cùng giá trị số học)

Lưu ý: So sánh float và int có thể gặp lỗi làm tròn với số lớn.