Объектно-ориентированное программирование на Java. Платформа Java SE. Тимур Машнин
Чтение книги онлайн.
Читать онлайн книгу Объектно-ориентированное программирование на Java. Платформа Java SE - Тимур Машнин страница 14
Для этого существует множество кодировок.
Java использует кодировку юникода, использующую 16 бит.
Другие кодировки используют только восемь бит.
Таким образом, все в компьютере представлено битами.
Все сводится к нулям и единицам.
Давайте сосредоточимся на том, как мы представляем числа в двоичной форме битами.
С 1 байтом – 8 бит – мы можем сформировать 256 различных комбинаций, или 2 в степени 8.
Поэтому мы можем представить 256 различных чисел.
Это могут быть, например, натуральные числа от 0 до 255.
Но какая комбинация байт соответствует какому числу?
Давайте проанализируем систему, которую мы используем для представления чисел в нашей десятичной системе, которая использует 10 цифр, от 0 до 9.
Используем систему, основанную на весах.
Чем больше мы двигаемся влево, тем выше вес.
Когда мы пишем 972, мы имеем в виду 9 умножить на 100 плюс 7 умножить на 10 плюс 2.
Так как здесь основание 10, система исчисления называется десятичной.
Для двоичной системы исчисления тот же принцип, только основанием будет 2.
Соответственно, перевести число из двоичной системы в десятичную очень просто, нужно сложить получившийся ряд.
Перевести число из десятичной системы в двоичную тоже просто, нужно делить на 2 и записывать остаток.
Но как насчет отрицательных чисел? Нам тоже нужно работать с ними.
Неотрицательные числа, т. е. 0 и положительные числа – закодированы по-прежнему, где самый левый бит установлен в 0.
И у нас осталось семь бит.
Таким образом, мы можем иметь 2 в степени 7 различных неотрицательных чисел, а именно от 0 до 127.
Для отрицательных чисел они кодируются таким образом, что сумма отрицательного числа и его положительного аналога равна 2 в степени числа бит, т. е. восемь, или 256, или 1, а затем восемь 0.
Таким образом, с этим кодированием мы можем представлять, как положительные, так и отрицательные числа.
Теперь давайте сосредоточимся на Java.
Какие типы данных мы используем для целых чисел?
На самом деле это не один тип данных, а доступно несколько типов данных.
У нас есть тип данных, называемый «байт», который использует точно восемь бит – это и есть, один байт.
Мы можем представить цифры от -128 до 127, как мы только что видели.
Есть тип данных «short», который использует 16 бит и находится в диапазоне от -32 000 до плюс
32000.
Но основным