Системы счисления и двоичное представление информации в памяти компьютера

Автор работы: Пользователь скрыл имя, 04 Ноября 2012 в 16:55, методичка

Краткое описание

Что нужно знать:
перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления (см. презентацию «Системы счисления»)
Полезно помнить, что в двоичной системе:
четные числа оканчиваются на 0, нечетные – на 1;
числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей
если число N принадлежит интервалу 2k-1 £ N < 2k, в его двоичной записи будет всего k цифр, например, для числа 1

Содержимое работы - 1 файл

A1.doc

— 187.00 Кб (Скачать файл)

© К. Поляков, 2009-2011


А1 (базовый уровень, время – 1 мин)

Тема:  Системы счисления и двоичное представление информации в памяти компьютера.

Что нужно знать:

  • перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления (см. презентацию «Системы счисления»)

Полезно помнить, что в двоичной системе:

  • четные числа оканчиваются на 0, нечетные – на 1;
  • числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей
  • если число N принадлежит интервалу 2k-1 £ N < 2k, в его двоичной записи будет всего k цифр, например, для числа 125:

26 = 64 £ 125 < 128 = 27,    125 = 11111012  (7 цифр)

  • числа вида 2k записываются в двоичной системе как единица и k нулей, например:

16 = 24 = 100002

  • числа вида 2k-1 записываются в двоичной системе k единиц, например:

15 = 24-1 = 11112

  • если известна двоичная запись числа N, то двоичную запись числа 2·N можно легко получить, приписав в конец ноль, например: 
     15 = 11112,  30 = 111102,         60 = 1111002,  120 = 11110002

  • отрицательные целые числа хранятся в памяти в двоичном дополнительном коде (подробнее см. презентацию «Компьютер изнутри»)
  • для перевода отрицательного числа (-a) в двоичный дополнительный код нужно сделать следующие операции:
    • перевести число a-1 в двоичную систему счисления
    • сделать инверсию битов: заменить все нули на единицы и единицы на нули в пределах разрядной сетки (см. пример далее)

Пример задания:

Сколько единиц в двоичной записи числа 1025?

1) 1            2)  2       3)  10  4) 11

Решение (вариант 1, прямой перевод):

  1. переводим число 1025 в двоичную систему: 1025 = 100000000012
  2. считаем единицы, их две
  3. Ответ: 2

Возможные проблемы:

легко запутаться при переводе больших  чисел.


Решение (вариант 2, разложение на сумму степеней двойки):

  1. тут очень полезно знать наизусть таблицу степеней двойки, где 1024 = 210 и 1 = 20
  2. таким образом, 1025=  1024 + 1 = 210 + 20
  3. вспоминая, как переводится число из двоичной системы  в десятичную (значение каждой цифры умножается на 2 в степени, равной её разряду), понимаем, что в двоичной записи числа ровно столько единиц, сколько в приведенной сумме различных степеней двойки, то есть, 2
  4. Ответ: 2

Возможные проблемы:

нужно помнить таблицу степеней двойки.

Когда удобно использовать:

  • когда число чуть больше какой-то степени двойки

 

Ещё пример задания:

Дано: и . Какое из чисел с, записанных в двоичной системе счисления, удовлетворяет неравенству a < c < b?   

1) 110110012            2) 110111002          3) 110101112          4) 110110002

Общий подход:

перевести все числа (и исходные данные, и ответы) в одну (любую!) систему счисления и сравнить.

Решение (вариант 1, через десятичную систему):

  1. переводим в десятичную систему все ответы:

110110012 = 217, 11011100 2= 220, 110101112 = 215, 110110002=216 

  1. очевидно, что между числами 215 и 217 может быть только 216
  2. таким образом, верный ответ – 4 .

Возможные проблемы:

арифметические ошибки при переводе из других систем в десятичную.


Решение (вариант 2, через двоичную систему):

  1. (каждая цифра шестнадцатеричной системы отдельно переводится в четыре двоичных – тетраду);
  2. (каждая цифра восьмеричной системы отдельно переводится в три двоичных – триаду, старшие нули можно не писать);
  3. теперь нужно сообразить, что между этими числами находится только двоичное число 110110002 – это ответ 4.

 

Возможные проблемы:

запись двоичных чисел однородна, содержит много одинаковых символов – нулей и единиц, поэтому легко  запутаться и сделать ошибку.


Решение (вариант 3, через  восьмеричную систему):

  1. (сначала перевели в двоичную систему, потом двоичную запись числа разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, так как для чисел от 0 до 7 их восьмеричная запись совпадает с десятичной);
  2. ,  никуда переводить не нужно;
  3. переводим в восьмеричную систему все ответы:

110110012 = 011  011  0012  = 3318 (разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, как в п. 1) 

11011100 2= 3348, 110101112 = 3278, 110110002=3308

  1. в восьмеричной системе между числами 3278 и 3318 может быть только 3308
  2. таким образом, верный ответ – 4 .

 

Возможные проблемы:

нужно помнить двоичную запись чисел от 0 до 7 (или переводить эти числа в двоичную систему при решении).


Решение (вариант 4, через  шестнадцатеричную систему):

  1. никуда переводить не нужно;
  2. (сначала перевели в двоичную систему, потом двоичную запись числа разбили на тетрады справа налево, каждую тетраду перевели в шестнадцатеричную систему; при этом тетрады можно переводить из двоичной системы в десятичную, а затем заменить все числа, большие 9, на буквы – A, B, C, D, E, F);
  3. переводим в шестнадцатеричную систему все ответы:

110110012 = 1101 10012  = D916 (разбили на тетрады справа налево, каждую тетраду перевели отдельно в десятичную систему, все числа, большие 9, заменили  на буквы – A, B, C, D, E, F, как в п. 1) 

11011100 2= DC16, 110101112 = D716, 110110002=D816

  1. в шестнадцатеричной системе между числами D716 и D916 может быть только D816
  2. таким образом, верный ответ – 4 .

Возможные проблемы:

нужно помнить двоичную запись чисел  от 0 до 15 (или переводить эти числа  в двоичную систему при решении).


Выводы:

  • есть несколько способов решения, «каждый выбирает для себя»;
  • наиболее сложные вычисления – при переводе всех чисел в десятичную систему, можно легко ошибиться;
  • сравнивать числа в двоичной системе сложно, также легко ошибиться;
  • видимо, в этой задаче наиболее простой вариант – использовать восьмеричную систему, нужно просто запомнить двоичные записи чисел от 0 до 7 и аккуратно все сделать;
  • в других задачах может быть так, что выгоднее переводить все в десятичную или шестнадцатеричную систему счисления.

Еще пример задания:

Для хранения целого числа  со знаком используется один байт. Сколько  единиц содержит внутреннее представление  числа (-78)?

1) 3            2)  4           3)  5  4) 6

Решение (вариант 1, классический):

  1. переводим число 78 в двоичную систему счисления:

78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 10011102

  1. по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
  2. чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:

78 = 010011102

  1. делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):

010011102     →    101100012 

  1. добавляем к результату единицу

101100012  + 1 = 101100102

это и есть число (-78) в двоичном дополнительно коде

  1. в записи этого числа 4 единицы
  2. таким образом, верный ответ – 2 .

Возможные ловушки и проблемы:

  • нужно не забыть в конце добавить единицу, причем это может быть не так тривиально, если будут переносы в следующий разряд – тут тоже есть шанс ошибиться из-за невнимательности

Решение (вариант 2, неклассический):

  1. переводим число 78 – 1=77 в двоичную систему счисления:

77 = 64 + 8 + 4 + 1 = 26 + 23 + 22 + 20 = 10011012

  1. по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
  2. чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:

77 = 010011012

  1. делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):

010011012     →    101100102 

это и есть число (-78) в двоичном дополнительно коде

  1. в записи этого числа 4 единицы
  2. таким образом, верный ответ – 2 .

Возможные ловушки и проблемы:

  • нужно помнить, что в этом способе в двоичную систему переводится не число a, а число  
    a-1; именно этот прием позволяет избежать добавления единицы в конце (легче вычесть в десятичной системе, чем добавить в двоичной)

Решение (вариант 3, неклассический):

  1. переводим число 78 в двоичную систему счисления:

78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 10011102

  1. по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
  2. чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:

78 = 010011102

  1. для всех битов, которые стоят слева от младшей единицы, делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):

010011102     →    101100102 

это и есть число (-78) в двоичном дополнительно коде

  1. в записи этого числа 4 единицы
  2. таким образом, верный ответ – 2 .

Возможные ловушки и проблемы:

  • нужно помнить, что при инверсии младшая единица и все нули после нее не меняются

 

 

Задачи для тренировки1:

  1. Как представлено число 8310 в двоичной системе счисления?

1)  10010112 2) 11001012  3) 10100112  4) 1010012

  1. Сколько единиц в двоичной записи числа 195?

1)  5 2) 2 3) 3  4) 4

  1. Сколько единиц в двоичной записи числа 173?

1)  7 2) 5 3) 6  4) 4

  1. Как представлено число 25 в двоичной системе счисления?

1)  10012  2) 110012  3) 100112  4) 110102

  1. Как представлено число 82 в двоичной системе счисления?

1)  10100102 2) 10100112  3) 1001012  4) 10001002

  1. Как представлено число 263 в восьмеричной системе счисления?

1)  3018  2) 6508  3) 4078  4) 7778

  1. Как записывается число 5678 в двоичной системе счисления?

1)  10111012 2) 1001101112  3) 1011101112  4) 111101112

  1. Как записывается число A8716 в восьмеричной системе счисления?

1)  4358  2) 15778  3) 52078   4) 64008

  1. Как записывается число 7548 в шестнадцатеричной системе счисления?

1)  73816  2) 1A416  3) 1EC16   4) A5616

  1. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-128)?

1) 1            2)  2           3)  3  4) 4

  1. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-35)?

1) 3            2)  4           3)  5  4) 6

  1. Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?

1) 100110102            2)  100111102           3)  100111112  4) 110111102

  1. Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?

Информация о работе Системы счисления и двоичное представление информации в памяти компьютера