Значение – это двоичное представление данных. Тип данных предоставляет способ представления значения переменной в памяти.
Значения переменных целых типов представляются в памяти как двоичные числа, полученные непосредственно переводом из десятичной системы счисления в двоичную систему счисления (это представление полностью справедливо лишь для положительных чисел). Целые числа в памяти представляются точно, и при выполнении операций с целыми числами никаких ошибок не возникает.
Идея представления в памяти вещественных чисел (конкретные способы могут варьироваться) заключается в следующем. Сначала число приводится к нормализованному виду, когда целая часть числа равна 0, первая цифра после запятой является значащей, а положение запятой в числе определяется значением показателя степени 10. Например, число 0,086 в нормализованной форме имеет вид 0,86×10–1, число 123,45 – 0.12345×10–3. При этом цифры, расположенные в нормализованной записи после точки, называются мантиссой, а показатель степени 10 - это порядок. В памяти отдельно представляется мантисса и отдельно – порядком. При этом количество бит, предназначенных для мантиссы, определяет точность представления, а количество бит, предназначенных для порядка, определяет диапазон представляемых чисел. Если количество цифр в двоичном представлении мантиссы превышает количество отведенных под нее разрядов, то последние двоичные цифры теряются, и число оказывается представленным в памяти приближенно. Кроме того, при выполнении арифметических операций ошибки могут накапливаться. Таким образом, в общем случае вещественные числа в памяти представляются приближенно и их сравнение на точное равенство невозможно. Например, равенство 0,2 + 0,2 + 0,2 + 0,2 + 0,2 = 1 может не выполняться, если левая часть его вычисляется на компьютере (гл. пример 2.6). Обычно вещественные переменные используются для обозначения величин, полученных в результате измерений, которые всегда имеют некоторую погрешность, либо в результате вычислений.
Символы всегда представлены 16-разрядными кодами Unicode (Юникод). Подробнее о символьных данных и операциях с ними см. гл. 6.
Логические переменные могут иметь значение true либо false.
Объектная ссылка – адрес памяти. При создании объекта память для него выделяется в управляемой куче – специальной области памяти, переменная хранит только ссылку на расположение объекта.