4.2.4 Được và mất khi chuyển đổi kiểu dữ liệu (1)

Mỗi lần chuyển đổi kiểu xảy ra, trình biên dịch sẽ cố gắng hết sức để bảo toàn giá trị ban đầu, nhưng không phải lúc nào cũng có thể. Chúng tôi sẽ cho bạn thấy một số ví dụ thể hiện những lợi ích và tổn thất có thể xảy ra của việc chuyển đổi kiểu dữ liệu.

Hãy phân tích một số khả năng.

Chúng ta sẽ bắt đầu với kiểu số nguyên

Trường hợp lý tưởng khi chuyển đổi kiểu là khi độ lớn của bộ nhớ dùng để biểu diễn dữ liệu được giữ nguyên hoặc tăng lên; chúng ta có thể tự tin rằng khi đó giá trị ban đầu sẽ được giữ nguyên. Chúng ta có thể mở rộng nó bằng các bit giá trị 0 để lấp đầy không gian bộ nhớ mới và bit dấu có thể được di chuyển đến vị trí mới, nhưng bản thân giá trị sẽ không thay đổi.

Trong ví dụ sau →

giá trị lớn nhất của kiểu short được chuyển thành công sang biến kiểu int. Chương trình sẽ in ra màn hình là “equal”, tức là giá trị không bị thay đổi