Системы счисления и двоичное представление информации в памяти компьютера
Методичка, 04 Ноября 2012, автор: пользователь скрыл имя
Краткое описание
Что нужно знать:
перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления (см. презентацию «Системы счисления»)
Полезно помнить, что в двоичной системе:
четные числа оканчиваются на 0, нечетные – на 1;
числа, которые делятся на 4, оканчиваются на 00, и т.д.; числа, которые делятся на 2k, оканчиваются на k нулей
если число N принадлежит интервалу 2k-1 £ N < 2k, в его двоичной записи будет всего k цифр, например, для числа 1
Содержимое работы - 1 файл
A1.doc
— 187.00 Кб (Скачать файл)© К. Поляков, 2009-2011
А1 (базовый уровень, время – 1 мин)
Тема: Системы счисления и двоичное представление информации в памяти компьютера.
Что нужно знать:
- перевод чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления (см. презентацию «Системы счисления»)
Полезно помнить, что в двоичной системе:
26 = 64 £ 125 < 128 = 27, 125 = 11111012 (7 цифр)
16 = 24 = 100002
15 = 24-1 = 11112
|
- отрицательные целые числа хранятся в памяти в двоичном дополнительном коде (подробнее см. презентацию «Компьютер изнутри»)
- для перевода отрицательного числа (-a) в двоичный дополнительный код нужно сделать следующие операции:
- перевести число a-1 в двоичную систему счисления
- сделать инверсию битов: заменить все нули на единицы и единицы на нули в пределах разрядной сетки (см. пример далее)
Пример задания:
Сколько единиц в двоичной записи числа 1025?
1) 1 2) 2 3) 10 4) 11
Решение (вариант 1, прямой перевод):
- переводим число 1025 в двоичную систему: 1025 = 100000000012
- считаем единицы, их две
- Ответ: 2
Возможные проблемы: легко запутаться при переводе больших чисел. |
Решение (вариант 2, разложение на сумму степеней двойки):
- тут очень полезно знать наизусть таблицу степеней двойки, где 1024 = 210 и 1 = 20
- таким образом, 1025= 1024 + 1 = 210 + 20
- вспоминая, как переводится число из двоичной системы в десятичную (значение каждой цифры умножается на 2 в степени, равной её разряду), понимаем, что в двоичной записи числа ровно столько единиц, сколько в приведенной сумме различных степеней двойки, то есть, 2
- Ответ: 2
Возможные проблемы: нужно помнить таблицу степеней двойки. |
Когда удобно использовать:
|
Ещё пример задания:
Дано: и . Какое из чисел с, записанных в двоичной системе счисления, удовлетворяет неравенству a < c < b?
1) 110110012 2) 110111002 3) 110101112 4) 110110002
Общий подход:
перевести все числа (и исходные данные, и ответы) в одну (любую!) систему счисления и сравнить.
Решение (вариант 1, через десятичную систему):
- переводим в десятичную систему все ответы:
110110012 = 217, 11011100 2= 220, 110101112 = 215, 110110002=216
- очевидно, что между числами 215 и 217 может быть только 216
- таким образом, верный ответ – 4 .
Возможные проблемы: арифметические ошибки при переводе из других систем в десятичную. |
Решение (вариант 2, через двоичную систему):
- (каждая цифра шестнадцатеричной системы отдельно переводится в четыре двоичных – тетраду);
- (каждая цифра восьмеричной системы отдельно переводится в три двоичных – триаду, старшие нули можно не писать);
- теперь нужно сообразить, что между этими числами находится только двоичное число 110110002 – это ответ 4.
Возможные проблемы: запись двоичных чисел однородна, содержит много одинаковых символов – нулей и единиц, поэтому легко запутаться и сделать ошибку. |
Решение (вариант 3, через восьмеричную систему):
- (сначала перевели в двоичную систему, потом двоичную запись числа разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, так как для чисел от 0 до 7 их восьмеричная запись совпадает с десятичной);
- , никуда переводить не нужно;
- переводим в восьмеричную систему все ответы:
110110012 = 011 011 0012 = 3318 (разбили на триады справа налево, каждую триаду перевели отдельно в десятичную систему, как в п. 1)
11011100 2= 3348, 110101112 = 3278, 110110002=3308
- в восьмеричной системе между числами 3278 и 3318 может быть только 3308
- таким образом, верный ответ – 4 .
Возможные проблемы: нужно помнить двоичную запись чисел от 0 до 7 (или переводить эти числа в двоичную систему при решении). |
Решение (вариант 4, через шестнадцатеричную систему):
- никуда переводить не нужно;
- (сначала перевели в двоичную систему, потом двоичную запись числа разбили на тетрады справа налево, каждую тетраду перевели в шестнадцатеричную систему; при этом тетрады можно переводить из двоичной системы в десятичную, а затем заменить все числа, большие 9, на буквы – A, B, C, D, E, F);
- переводим в шестнадцатеричную систему все ответы:
110110012 = 1101 10012 = D916 (разбили на тетрады справа налево, каждую тетраду перевели отдельно в десятичную систему, все числа, большие 9, заменили на буквы – A, B, C, D, E, F, как в п. 1)
11011100 2= DC16, 110101112 = D716, 110110002=D816
- в шестнадцатеричной системе между числами D716 и D916 может быть только D816
- таким образом, верный ответ – 4 .
Возможные проблемы: нужно помнить двоичную запись чисел от 0 до 15 (или переводить эти числа в двоичную систему при решении). |
Выводы:
- есть несколько способов решения, «каждый выбирает для себя»;
- наиболее сложные вычисления – при переводе всех чисел в десятичную систему, можно легко ошибиться;
- сравнивать числа в двоичной системе сложно, также легко ошибиться;
- видимо, в этой задаче наиболее простой вариант – использовать восьмеричную систему, нужно просто запомнить двоичные записи чисел от 0 до 7 и аккуратно все сделать;
- в других задачах может быть так, что выгоднее переводить все в десятичную или шестнадцатеричную систему счисления.
Еще пример задания:
Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-78)?
1) 3 2) 4 3) 5 4) 6
Решение (вариант 1, классический):
- переводим число 78 в двоичную систему счисления:
78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 10011102
- по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
- чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:
78 = 010011102
- делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):
010011102 → 101100012
- добавляем к результату единицу
101100012 + 1 = 101100102
это и есть число (-78) в двоичном дополнительно коде
- в записи этого числа 4 единицы
- таким образом, верный ответ – 2 .
Возможные ловушки и проблемы:
|
Решение (вариант 2, неклассический):
- переводим число 78 – 1=77 в двоичную систему счисления:
77 = 64 + 8 + 4 + 1 = 26 + 23 + 22 + 20 = 10011012
- по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
- чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:
77 = 010011012
- делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):
010011012 → 101100102
это и есть число (-78) в двоичном дополнительно коде
- в записи этого числа 4 единицы
- таким образом, верный ответ – 2 .
Возможные ловушки и проблемы:
|
Решение (вариант 3, неклассический):
- переводим число 78 в двоичную систему счисления:
78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 10011102
- по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов
- чтобы получилось всего 8 разрядов (бит), добавляем впереди один ноль:
78 = 010011102
- для всех битов, которые стоят слева от младшей единицы, делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):
010011102 → 101100102
это и есть число (-78) в двоичном дополнительно коде
- в записи этого числа 4 единицы
- таким образом, верный ответ – 2 .
Возможные ловушки и проблемы:
|
Задачи для тренировки1:
- Как представлено число 8310 в двоичной системе счисления?
1) 10010112 2) 11001012 3) 10100112 4) 1010012
- Сколько единиц в двоичной записи числа 195?
1) 5 2) 2 3) 3 4) 4
- Сколько единиц в двоичной записи числа 173?
1) 7 2) 5 3) 6 4) 4
- Как представлено число 25 в двоичной системе счисления?
1) 10012 2) 110012 3) 100112 4) 110102
- Как представлено число 82 в двоичной системе счисления?
1) 10100102 2) 10100112 3) 1001012 4) 10001002
- Как представлено число 263 в восьмеричной системе счисления?
1) 3018 2) 6508 3) 4078 4) 7778
- Как записывается число 5678 в двоичной системе счисления?
1) 10111012 2) 1001101112 3) 1011101112 4) 111101112
- Как записывается число A8716 в восьмеричной системе счисления?
1) 4358 2) 15778 3) 52078 4) 64008
- Как записывается число 7548 в шестнадцатеричной системе счисления?
1) 73816 2) 1A416 3) 1EC16 4) A5616
- Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-128)?
1) 1 2) 2 3) 3 4) 4
- Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-35)?
1) 3 2) 4 3) 5 4) 6
- Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?
1) 100110102 2) 100111102 3) 100111112 4) 110111102
- Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?