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.