Системы счисления и двоичное представление информации в памяти компьютера.
Что нужно знать:
-
перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления.
Полезно помнить, что в двоичной системе: -
четные числа оканчиваются на 0, нечетные – на 1; -
числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей -
если число N принадлежит интервалу 2k-1 £ N k, в его двоичной записи будет всего k цифр, например, для числа 125: 26 = 64 £ 125 128 = 27, 125 = 11111012 (7 цифр) 16 = 24 = 100002 15 = 24-1 = 11112 -
если известна двоичная запись числа N, то двоичную запись числа 2·N можно легко получить, приписав в конец ноль, например: 15 = 11112, 30 = 111102, 60 = 1111002, 120 = 11110002 |
-
отрицательные целые числа хранятся в памяти в двоичном дополнительном коде
-
для перевода отрицательного числа (-a) в двоичный дополнительный код нужно сделать следующие операции:
Пример задания:
Даны 4 числа, они записаны с использованием различных систем счисления. Укажите среди этих чисел то, в двоичной записи которого содержится ровно 6 единиц. Если таких чисел несколько, укажите наибольшее из них.
1) 6310 * 410 2) F816 + 110 3) 3338 4) 111001112
Решение:
-
нужно перевести все заданные числа в двоичную систему, подсчитать число единиц и выбрать наибольшее и чисел, в которых ровно 6 единиц;
-
для первого варианта переведем оба сомножителя в двоичную систему:
6310 = 1111112 410 = 1002
в первом числе ровно 6 единиц, умножение на второе добавляет в конец два нуля:
6310 * 410 = 1111112 * 1002 = 111111002
то есть в этом числе 6 единиц
-
для второго варианта воспользуемся связью между шестнадцатеричной и двоичной системами счисления: каждую цифру шестнадцатеричного числа можно переводить отдельно в тетраду (4 двоичных цифры):
F16 = 11112 816 = 10002 F816 = 1111 10002
после добавления единицы F816 + 1 = 1111 10012 также получаем число, содержащее ровно 6 единиц, но оно меньше, чем число в первом варианте ответа
-
для третьего варианта используем связь между восьмеричной и двоичной системами: каждую цифру восьмеричного числа переводим отдельно в триаду (группу из трёх) двоичных цифр:
3338 = 011 011 0112 = 110110112
это число тоже содержит 6 единиц, но меньше, чем число в первом варианте ответа
-
последнее число 111001112 уже записано в двоичной системе, оно тоже содержит ровно 6 единиц, но меньше первого числа
-
таким образом, все 4 числа, указанные в вариантах ответов содержат ровно 6 единиц, но наибольшее из них – первое
-
Ответ: 1.