<< Предыдущая Оглавление Следующая >>


1.5. Системы счисления

Любое число можно представлять в разной системе счисления. Во всех предыдущих примерах использовалось десятичная форма записи числа. Это значит, что число может быть разложено по степеням 10, например,


Однако компьютер оперирует двоичными числами, т.е. представляет число по степеням двойки, например:


которое часто записывают в виде 1000000.

Учитывая, что в одном байте 8 бит, максимальное число, которое он может содержать равно


Таким образом, один байт информации может представлять десятичные числа в диапазоне от 0 до 255, т.е. 256 возможных значений.

Кроме десятичной и двоичной систем счисления при программировании часто используют шестнадцатиричную систему, т.е. числа с основанием 16. Для записи таких чисел недостаточно использовать цифры, поэтому для обозначения основания больше 9 добавляют буквы A – 10, B – 11, C – 12, D – 13, E – 14, F – 15 (или малого регистра a,b,c,d,e,f). Например, десятичное число 0 соответствует шестнадцатиричному 0, а десятичное 15, шестнадцатиричному F. Для представления числа 16 используется шестнадцатиричное , а число 255 соответствует числу .

Следует отметить, что каждая цифра шестнадцатиричного числа представляется четырьмя битами двоичного числа. Действительно дает диапазон чисел от 0 до 15 или в шестандцатиричной записи от 0 до F. Это свойство удобно для представления байтовых чисел, где каждая половинка байта представляется одним шестнадцатиричным числом. Например,
FF = 11111111; 0F = 00001111; 11 = 00010001 и т.д.

Для представления шестнадцатиричных чисел в языке С++ используется следующий синтаксис:

int var = 0xff; //число 255
int arg = 0xac; //число 172

Видео по теме

С++ с нуля: урок 1 - переменные, оператор присваивания

С++ с нуля: урок 2 - арифметические операции

С++ с нуля: урок 3 - директивы препроцессора

С++ с нуля, урок 4: условные операторы if и switch

С++ с нуля: урок 5 - операторы циклов while, for и do while

С++ с нуля: урок 6 - массивы, метод всплывающего пузырька

С++ с нуля: урок 7 - строки и функции работы с ними

С++ с нуля: урок 8 - функции: прототипы, перегрузка, рекурсия

С++ с нуля: урок 9 - области видимости переменных

С++ с нуля: урок 10 - битовые операции И, ИЛИ, НЕ, XOR

С++ с нуля: урок 11 - структуры

С++ с нуля: урок 12 - объединения, перечисления, typedef

С++ с нуля: урок 13 - указатели и ссылки, выделение памяти

С++ с нуля: урок 14 (часть 1) - функции работы с файлами

С++ с нуля: урок 14 (часть 2) - функции работы с файлами

С++ с нуля: урок 15 - стек, теория и практика

С++ с нуля: урок 16 - связные списки, теория и практика

С++ с нуля: урок 17 - бинарное дерево, теория и практика



<< Предыдущая Оглавление Следующая >>