Тема Системы счисления и двоичное представление информации в памяти компьютера. Что нужно знать Полезно помнить, что в двоичной системе:
1 Тема: Системы счисления и двоичное представление информации в памяти компьютера. Что нужно знать: перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления (см. презентацию «Системы счисления») Полезно помнить, что в двоичной системе: четные числа оканчиваются на 0, нечетные на 1; числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на k, оканчиваются на k нулей если число N принадлежит интервалу k-1 N < k, в его двоичной записи будет всего k цифр, например, для числа 15: 6 = < 1 = 7, 15 = (7 цифр) числа вида k записываются в двоичной системе как единица и k нулей, например: 16 = 4 = числа вида k -1 записываются в двоичной системе k единиц, например: 15 = 4-1 = 1111 если известна двоичная запись числа N, то двоичную запись числа N можно легко получить, приписав в конец ноль, например: 15 = 1111, 30 = , 60 = , 10 = отрицательные целые числа хранятся в памяти в двоичном дополнительном коде (подробнее см. презентацию «Компьютер изнутри») для перевода отрицательного числа (-a) в двоичный дополнительный код нужно сделать следующие операции: o перевести число a-1 в двоичную систему счисления o сделать инверсию битов: заменить все нули на единицы и единицы на нули в пределах разрядной сетки (см. пример далее) Пример задания: Дано: a D716и b 331. Какое из чисел с, записанных в двоичной системе счисления, удовлетворяет неравенству a < c < b? 1) ) ) ) Общий подход:
2 перевести все числа (и исходные данные, и ответы) в одну (любую!) систему счисления и сравнить. Решение (вариант 1, через десятичную систему): 1) a D7 16 ) b ) переводим в десятичную систему все ответы: = 17, = 0, = 15, =16 4) очевидно, что между числами 15 и 17 может быть только 16 арифметические ошибки при переводе из других систем в десятичную. Решение (вариант, через двоичную систему): 1) a D (каждая цифра шестнадцатеричной системы отдельно переводится в четыре двоичных тетраду); ) b (каждая цифра восьмеричной системы отдельно переводится в три двоичных триаду, старшие нули можно не писать); 3) теперь нужно сообразить, что между этими числами находится только двоичное число это ответ 4. запись двоичных чисел однородна, содержит много одинаковых символов нулей и единиц, поэтому легко запутаться и сделать ошибку. Решение (вариант 3, через восьмеричную систему): 1) a D (сначала перевели в двоичную систему, потом двоичную запись числа разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, так как для чисел от 0 до 7 их восьмеричная запись совпадает с десятичной); ) b 331, никуда переводить не нужно; 3) переводим в восьмеричную систему все ответы:
3 = = 331 (разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, как в п. 1) = 334, = 37, =330 4) в восьмеричной системе между числами 37 и 331 может быть только 330 нужно помнить двоичную запись чисел от 0 до 7 (или переводить эти числа в двоичную систему при решении). Решение (вариант 4, через шестнадцатеричную систему): 1) a D716 никуда переводить не нужно; b D (сначала перевели в двоичную ) 916 систему, потом двоичную запись числа разбили на тетрады справа налево, каждую тетраду перевели в шестнадцатеричную систему; при этом тетрады можно переводить из двоичной системы в десятичную, а затем заменить все числа, большие 9, на буквы A, B, C, D, E, F); 3) переводим в шестнадцатеричную систему все ответы: = = D9 16 (разбили на тетрады справа налево, каждую тетраду перевели отдельно в десятичную систему, все числа, большие 9, заменили на буквы A, B, C, D, E, F, как в п. 1) = DC 16, = D7 16, =D 16 4) в шестнадцатеричной системе между числами D7 16 и D9 16 может быть только D 16 нужно помнить двоичную запись чисел от 0 до 15 (или переводить эти числа в двоичную систему при решении). Выводы: есть несколько способов решения, «каждый выбирает для себя»; наиболее сложные вычисления при переводе всех чисел в десятичную систему, можно легко ошибиться; сравнивать числа в двоичной системе сложно, также легко ошибиться;
4 видимо, в этой задаче наиболее простой вариант использовать восьмеричную систему, нужно просто запомнить двоичные записи чисел от 0 до 7 и аккуратно все сделать; в других задачах может быть так, что выгоднее переводить все в десятичную или шестнадцатеричную систему счисления. Еще пример задания: Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-7)? 1) 3 ) 4 3) 5 4) 6 Решение (вариант 1, классический): 1) переводим число 7 в двоичную систему счисления: 7 = = = ) по условию число занимает в памяти 1 байт = бит, поэтому нужно представить число с помощью разрядов 3) чтобы получилось всего разрядов (бит), добавляем впереди один ноль: 7 = ) делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0): ) добавляем к результату единицу = это и есть число (-7) в двоичном дополнительно коде 6) в записи этого числа 4 единицы 7) таким образом, верный ответ. Возможные ловушки и проблемы: нужно не забыть в конце добавить единицу, причем это может быть не так тривиально, если будут переносы в следующий разряд тут тоже есть шанс ошибиться из-за невнимательности Решение (вариант, неклассический): 1) переводим число 7 1=77 в двоичную систему счисления: 77 = = = ) по условию число занимает в памяти 1 байт = бит, поэтому нужно представить число с помощью разрядов 3) чтобы получилось всего разрядов (бит), добавляем впереди один ноль: 77 =
5 4) делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0): это и есть число (-7) в двоичном дополнительно коде 5) в записи этого числа 4 единицы 6) таким образом, верный ответ. Возможные ловушки и проблемы: нужно помнить, что в этом способе в двоичную систему переводится не число a, а число a-1; именно этот прием позволяет избежать добавления единицы в конце (легче вычесть в десятичной системе, чем добавить в двоичной)
А1 (базовый уровень, время 1 мин)А1 (базовый уровень, время 1 мин) Тема: Системы счисления и двоичное представление информации в памяти компьютера. Что нужно знать: перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной