Типы данных - это своего рода абстракция. Что касается компьютера, то int
или short
отсутствуют.Есть память и есть данные.
Когда вы говорите int x
, вы говорите компьютеру "дайте мне достаточно байтов для хранения целого числа", когда вы говорите short y
, вы говорите ... вы догадались.
short
, как и следовало ожидать, занимает меньше байтов, чем int
и, следовательно, может (и часто содержит) данные в смежных байтах.При сравнении данных разных типов возникает проблема: «Приведут ли соседние биты к искаженным результатам или нет?»
Когда вы сравниваете два разных типа данных, вы действительно сравниваете биты, хранящиеся в двух разных местах.Максимальное количество отдельных битов, сохраняемых для представления данных, должно быть одинакового размера для сравнения для работы
Приведение используется для помощи в этом.