Có kiểu dữ liệu chiếm ít byte hơn int như char, short. Nếu thực hiện phép toán trên chúng, chúng tự động thăng cấp thành int. Điều này gọi là integer promotions (thăng cấp kiểu nguyên).
Chương trình minh họa integer promotion C:
Ví dụ
#include <stdio.h>
int main() {
char x = 68;
char y = 34;
printf("Giá trị x: %d", x);
printf("\nGiá trị y: %d", y);
char z = x/y;
printf("\nGiá trị z: %d", z);
return 0;
}Kết quả
Đầu ra chương trình:
Giá trị x: 68 Giá trị y: 34 Giá trị z: 2
Hiểu chương trình:
Biến x, y kiểu char. Khi phép chia thực hiện, chúng tự thăng cấp thành int và kết quả lưu vào z. Đây là integer promotion. Đoạn mã:
char x = 68;
char y = 34;
printf("Giá trị x: %d", x);
printf("\nGiá trị y: %d", y);
char z = x/y;
printf("\nGiá trị z: %d", z);