
821.ppt
- Количество слайдов: 73
Системы счисления
Система счисления n Система счисления — это способ представления чисел цифровыми знаками и соответствующие ему правила действий над числами. n Системы счисления можно разделить: – непозиционные системы счисления; – позиционные системы счисления.
Непозиционные системы счисления n В непозиционной системе счисления значение (величина) символа (цифры) не зависит от положения в числе. – Пример 1. У многих народов использовалась система, алфавит которой состоял из одного символа — палочки. Для изображения какого-то числа в этой системе нужно записать определенное множество палочек, равное данному числу: ||||| — число пять. – Пример 2. Самой распространенной непозиционной системой счисления является римская. Алфавит римской системы записи чисел состоит из символов: I — один, V — пять, X — десять, L — пятьдесят, C — сто, D — пятьсот, M — тысяча. n n n Величина числа определяется как сумма или разность цифр в числе (например, II — два, III — три, XXX — тридцать, CC — двести). Если же большая цифра стоит перед меньшей цифрой, то они складываются (например, VII — семь), если наоборот — вычитаются (например, IX — девять). Задание № 1 Перечислите недостатки непозиционной системы счисления.
Римская система счисления Правила: § (обычно) не ставят больше трех одинаковых цифр подряд § если младшая цифра (только одна!) стоит слева от старшей, она вычитается из суммы (частично непозиционная!) Примеры: MDCXLIV = 1000 + 500 + 100 – 10 + 50 – 1 + 5 = 1644 2389 = 2000 + 300 + MM CCC 80 LXXX 2389 = M M C C C L X X X I X + 9 IX
Римская система счисления I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Задание № 2 : 1. Переведите числа из римской системы счисления в десятичную – MCDXXXIX, CMXLIX, MCMXCIX. 2. Запишите десятичные числа в римской системе счисления – 464, 2648. 3. Где в настоящее время используется римская система счисления?
Позиционные системы счисления n n n В позиционных системах счисления значение (величина) цифры определяется ее положением в числе. Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — количество различных цифр, используемых для изображения чисел в данной системе счисления. n n Основание 10 у привычной десятичной системы счисления (десять пальцев на руках). Алфавит: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0. Основание 60 придумано в Древнем Вавилоне: деление часа на 60 минут, минуты — на 60 секунд, угла — на 360 градусов. Основание 12 распространили англосаксы: в году 12 месяцев, в сутках два периода по 12 часов, в футе 12 дюймов. Основание 5 широко использовалось в Китае. За основание можно принять любое натуральное число — два, три, четыре и т. д. , образовав новую позиционную систему: двоичную, троичную, четверичную и т. д. Задание № 3 n 1. Перечислите знакомые вам позиционные системы счисления. 2. Какими достоинствами обладают позиционные системы счисления?
Таблица эквивалентов чисел A 10 A 2 A 8 A 16 0 0 10 A 1 1 11 B 2 2 2 12 C 3 3 3 13 D 4 4 4 14 E 5 5 5 15 F 6 6 6 16 7 7 7 17 8 8 18 9 9 19 Задание № 4 Перерисуйте таблицы, запишите пропущенные значения в требуемых системах счисления.
Задание № 5: Укажите какие числа записаны с ошибками. Ответ обоснуйте. 1567; 3005, 234; 185, 7948; 11022; 1345, 526; 112, 0113; 16, 5455.
Двоичная система счисления n n Официальное «рождение» двоичной системы счисления (в её алфавите два символа: 0 и 1) связывают с именем Готфрида Вильгельма Лейбница. В 1703 г. он опубликовал статью, в которой были рассмотрены все правила выполнения арифметических действий над двоичными числами. Преимущества: – для её реализации нужны технические устройства с двумя устойчивыми состояниями: n n сеть ток — нет тока; намагничен — не намагничен; – представление информации посредством только двух состояний надежно и помехоустойчиво; – двоичная арифметика намного проще десятичной. n Недостаток: – быстрый рост числа разрядов, необходимых для записи чисел. Задание № 6 1. Чему равно основание в двоичной системе счисления? 2. Сколько и каких требуется цифр для записи любого числа в – двоичной системе счисления?
Перевод целых чисел Двоичная система: Алфавит: 0, 1 10 2 19 18 1 2 9 8 1 2 4 4 0 2 2 2 0 2 10 43210 19 = 100112 2 1 0 1 система счисления 2 0 разряды 100112 = 1· 24 + 0· 23 + 0· 22 + 1· 21 + 1· 20 = 16 + 2 + 1 = 19
Перевод чисел из двоичной системы счисления в десятичную (N 2 N 10) (через развернутую форму записи числа) n Пример: 1011, 012=1*23+0*22+1*21+1*20+0*2 -1+1*2 -2=8+2+1+¼=11 ¼. Таблица степеней числа 2 20 21 22 23 24 25 26 27 28 29 __________________________________________________________ 2 4 8 16 32 64 128 256 512 1 210 1024
Задание № 7: Сделайте перевод чисел из десятеричной системы в двоичную 131 = 45 = 79 = 37 = Сделайте перевод чисел из двоичной системы в десятеричную 1010112 = 1101102 = 10112 =
Перевод дробных чисел 10 2 2 10 0, 375 = 0, 0112 0, 7 = ? 2 0, 7 = 0, 10110… 0 , 750 = 0, 1(0110)2 0, 75 Многие дробные числа нельзя представить в виде конечных двоичных дробей. 2 1 , 50 Для их точного хранения требуется бесконечное число разрядов. 0, 5 2 Большинство дробных чисел хранится в 1 , 0 памяти с ошибкой. 2 -2 = 1 22 = 0, 25 2 1 0 -1 -2 -3 разряды 101, 0112 = 1· 22 + 1· 20 + 1· 2 -2 + 1· 2 -3 = 4 + 1 + 0, 25 + 0, 125 = 5, 375
Перевод десятичных дробей в двоичную систему счисления (N 10 N 2) (умножением на 2) 5625 2 1250 2 0 2500 2 0 5000 2 1 Пример: 0, 562510 = N 2 = 0, 10012 0, 1 n 0000 Задание № 8: переведите десятичные дроби в двоичную систему счисления с точностью до 4 знаков после запятой: 0, 62510 0, 43510 0, 519810 0, 580310
Перевод смешанных чисел из десятичной системы счисления в двоичную n n n n n Алгоритм перевода: 1) перевести целую часть; 2) перевести дробную часть; 3) сложить полученные результаты. Пример : перевести 17, 2510 в двоичную систему счисления. Решение: 1710 = 100012 0, 2510= 0, 012 17, 2510 = 10001, 012 Задание № 9: переведите в двоичную систему счисления числа: 40, 510 31, 7510 124, 2510
Арифметические операции сложение вычитание перенос 0+0=0 0+1=1 1+0=1 1+1=102 1 + 1 = 112 1 0 1 1 02 + 1 1 1 0 1 12 1 0 0 0 12 0 -0=0 1 -1=0 1 -0=1 102 -1=1 заем 0 1 1 102 0 102 1 0 0 0 12 – 1 1 0 1 12 0 1 0 1 02
Задание № 10: Выполните сложение 1011012 + 111112 101112 +1011102 1110112 + 110112 1110112 + 100112
Задание № 11: Выполните вычитание 1011012 – 111112 110112 – 1101012 1100112 – 101012 1101012 – 110112
Арифметические операции умножение 1 0 12 1 0 12 + 1 0 12 1 1 0 0 12 деление 1 0 1 2 1 1 12 – 1 1 12 0
Задание № 12. 1 0 0 12 1 0 12 ? Перемножьте числа 1 02 1 0 12 ?
Задание № 13. Выполните деление 1 1 1 2 1 12 ? 10102 1 0 12 ?
Восьмеричная система Основание (количество цифр): 8 Алфавит: 0, 1, 2, 3, 4, 5, 6, 7 10 8 100 8 96 12 8 8 1 4 4 0 1 100 = 1448 8 0 8 10 210 разряды 1448 = 1· 82 + 4· 81 + 4· 80 = 64 + 32 + 4 = 100 система счисления
Задание № 14 Сделайте перевод чисел из десятеричной системы в восьмеричную 13410 = 7510 = Сделайте перевод чисел из восьмеричной системы в десятеричную 1348 = 758 =
Перевод в двоичную и обратно 10 • трудоемко • 2 действия 8 2 8 = 23 Каждая восьмеричная цифра может быть записана как три двоичных (триада)! 1 7 2 { { { 17258 = 001 111 010 1012 { ! 5
Перевод чисел (8) (2) n n Перевод восьмеричных чисел в двоичную систему: каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр). Примеры: 53718 = 101 011 111 0012; 5 n 3 7 1 Задание № 15 : выполните перевод 3 7548 = 2 34678 = 2 73528 = 2 12318 = 2
Перевод из двоичной системы (2) (8) 1001011112 Шаг 1. Разбить на триады, начиная справа: 001 011 101 1112 Шаг 2. Каждую триаду записать одной восьмеричной цифрой: 001 011 101 1112 1 Ответ: 1 3 5 7 1001011112 = 113578
Задание № 16. Осуществите перевод из двоичной системы в восьмеричную систему счисления. 1011010100102 = 111111010112 = 110102 =
Арифметические сложение операции 1 в перенос 1 5 68 + 6 6 28 1 0 4 08 6+2=8=8+0 5 + 6 + 1 = 12 = 8 + 4 1+6+1=8=8+0 1 в перенос
Задание № 17. 3 5 38 + 7 3 68 Произведите сложение чисел 1 3 5 38 + 7 7 78
вычитание Арифметические операции 4 5 68 – 2 7 78 1 5 78 заем (6 + 8) – 7 = 7 заем (5 – 1 + 8) – 7 = 5 (4 – 1) – 2 = 1
Задание № 18. – 1 5 68 6 6 28 Выполните вычитание. 1 1 5 68 – 6 6 28
Шестнадцатеричная система Основание (количество цифр): 16 Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 10 16 10 11 12 13 14 15 107 16 96 6 16 107 = 6 B 16 0 0 11 B система 6 счисления 16 10 C 1 C 516 = 1· 162 + 12· 161 + 5· 160 = 256 + 192 + 5 = 453 2 10 разряды
Задание № 19. Сделайте перевод из десятичной системы счисления в шестнадцатеричную. 17110 = 20610 = Сделайте перевод из шестнадцатеричной системы счисления в десятичную 1 BC 16 = 22 B 16 =
Перевод в двоичную систему 10 • трудоемко • 2 действия 2 16 16 = 24 ! Каждая шестнадцатеричная цифра может быть записана как четыре двоичных (тетрада)! 7 F 1 { { 7 F 1 A 16 = 0111 1111 0001 10102 A
Перевод чисел (16) (2) n n Перевод шестнадцатеричных чисел в двоичную систему: каждую цифру заменить эквивалентной ей двоичной тетрадой (четверкой цифр). Примеры: 1 A 3 F 16 = 1 1010 0011 11112 1 n A 3 F Задание № 20. Выполните перевод: 2 ED 16 = C 73 B 16 = 2 FE 116 = 2 2 2
Перевод из двоичной системы (2) (16) 1001011112 Шаг 1. Разбить на тетрады, начиная справа: 0001 0010 11112 Шаг 2. Каждую тетраду записать одной шестнадцатеричной цифрой: 0001 0010 11112 1 Ответ: 2 E F 1001011112 = 12 EF 16
Задание № 21. Осуществите перевод из двоичной системы в шестнадцатеричную. 1010101102 = 1111001101111101012 = 1101101101011111102 =
Перевод в восьмеричную и обратно трудоемко 10 8 16 2 Шаг 1. Перевести в двоичную систему: 3 DEA 16 = 11 1101 1110 10102 Шаг 2. Разбить на триады: 011 110 111 101 0102 Шаг 3. Триада – одна восьмеричная цифра: 3 DEA 16 = 367528
Задание № 22. Сделайте перевод из восьмеричной системы счисления в шестнадцатеричную. 7658 = Сделайте перевод из шестнадцатеричной системы счисления в восьмеричную. A 3516 =
Арифметические операции сложение A 5 B 16 + C 7 E 16 1 6 D 916 10 5 11 + 12 7 14 1 6 13 9 1 в перенос 11+14=25=16+9 5+7+1=13=D 16 10+12=22=16+6 1 в перенос
Задание № 23. С В А 16 + A 5 916 Выполните сложение. 8 D, 816 + 3 B, C 16
Арифметические вычитание С 5 B 16 – A 7 E 16 1 D D 16 операции заем 12 5 11 – 10 7 14 1 13 13 заем (11+16)– 14=13=D 16 (5 – 1)+16 – 7=13=D 16 (12 – 1) – 10 = 1
Задание № 24. Произведите вычитание. 1 В А 16 – A 5 916 C 9, 416 – 3 B, C 16
Задание № 25. Сравните числа 1102 и 1103 5506 и 5058 Е 316 и 378 Задание № 26. Найдите пример с ошибкой: 1100111012 = 41310 12310 = 1111012 5678 = 1111101112
Правила перевода любого числа из одной произвольной системы счисления в другую произвольную систему счисления n n Для перевода целой части числа из одной позиционной системы с основанием системы счисления b в другую, с основанием b` (b` основание новой системы) необходимо это число последовательно делить на b`, выписывая остатки до тех пор, пока не получится частное меньше b`. Число в новой системе запишется в виде остатков, первый остаток образует младший разряд, в старший разряд записывается последнее частное, меньшее основание новой системы. Деление выполняется в исходной системе, результат записывается цифрами новой системы. Чтобы перевести правильную дробь из одной позиционной системы с основанием S в другую, с основанием S`, необходимо дробь последовательно умножать на S`, при этом умножаются только дробные части, а целые части, начиная с первой, являются цифрами дробного числа в новой системе счисления. Умножение выполняется в исходной системе, дробь записывается цифрами новой системы.
Как представляются в компьютере целые числа? n Целые числа могут представляться в компьютере со знаком или без знака. Беззнаковый целый тип Минимальное число: 0 0 0 0 Максимальное число: 1 1 1 1 Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 00002 до 11112 , а в двубайтовом формате - от 000000002 до 111111112. 11112= =1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20=25510 в байте (8 разрядов) можно представить беззнаковые числа от 0 до 255.
Диапазон допустимых значений для беззнаковых типов: от 0 до 2 k – 1, где k – количество разрядов в ячейке Максимальные и минимальные значения для целых N – разрядных чисел Числа без знака N MAX MIN 8 16 32 255 65 535 4 294 967 295 (28 - 1) (216 - 1) (232 - 1) 0
Число 3910 = 100111 2 в однобайтовом формате: Число 3910 = 100111 2 в двухбайтовом формате: Число 65 53510 = 111111112 в двухбайтовом формате:
Задание № 27 n n Представьте число 4610 в однобайтовом формате. Представьте число 5510 в двухбайтовом формате.
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак "плюс" кодируется нулем, а "минус" - единицей. Диапазон допустимых значений для знаковых типов: от -2 k-1 до 2 k-1 – 1, где k – количество разрядов в ячейке Диапазоны значений целых чисел со знаком Числа со знаком N 8 16 32 MAX 127 32 767 2 147 483 647 MIN - 128 - 32 768 - 2 147 483 648
Знаковый целый тип для положительных чисел Минимальное число: знак Максимальное число: 0 0 0 0 7 0 0 0 1 1 1 11111112 = =1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 = 12710 в байте (8 разрядов) можно представить знаковые положительные числа от 0 до 127.
Алгоритм представления в компьютере целых положительных чисел: 54 = 1101102 k = 8 разрядов 0 0 1 1 0 k = 16 разрядов 0 0 0 0 0 1 1 0
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины - семь разрядов. 1 1 0 0 В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.
• Разряды числа в коде жестко связаны с разрядной сеткой (8, 16, 32, 64 разряда); • Для записи кода знака числа в разрядной сетке отводится фиксированный разряд. Знаковым разрядом является старший разряд в разрядной сетке. знаковый разряд 0 7 1 1 0 0 1 0
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково - двоичными кодами с цифрой 0 в знаковом разряде. Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
Прямой код (ПК) двоичного числа Прямой код двоичного числа совпадает по изображению с записью самого числа. ПК используется для представления отрицательных чисел в запоминающем устройстве ПЭВМ, а также при умножении и делении. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел равно 1, а в разряды цифровой части числа помещается двоичный код его абсолютной величины. +1101 0 0 1 1 0 1 -1101 1 0 0 0 1 1 0 1
Задание № 28 n Запишите прямой код двоичных чисел (однобайтовый формат): -11011 +110011 +101011 -1011101 -1011
Обратный код двоичного числа Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. 0 -1101 0 0 1 1 0 1 - прямой код 0 0 1 1 0 1 - обратный код 1 +1101 0 0 1 1 0 1 - прямой код 1 1 0 0 1 0 - обратный код Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы – нулями.
Задание № 29 n Запишите обратный код двоичных чисел (однобайтовый формат): -11011 +101011 -1011101 -1011 +110011
Дополнительный код для положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы. -1101 Прямой код Обратный код Дополнительный код 10001101 11110010 11110011 Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
Получить дополнительный код числа -117 для 8 -разрядной ячейки. Однобайтовое представление числа: Прямой код 11110101 Обратный код 10001010 Дополнительный код 10001011
Задание № 30 n Запишите дополнительный код двоичных чисел (однобайтовый формат): -11011 +101011 -1011101 -1011 +110011
Получить дополнительный код числа для 16 -разрядной ячейки. -117 Двухбайтовое представление числа: Прямой код 10000000 01110101 Обратный код 1111 10001010 Дополнительный код 1111 10001011
Получить дополнительный код двоичного числа для 8 -разрядной ячейки. -10002 Прямой код 1000 Обратный код 11110111 Дополнительный код 11111000
Все целые отрицательные числа в компьютере представляются дополнительным кодом. Обратный и дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что упрощает работу процессора и увеличивает его быстродействие.
Формы записи целых положительных чисел Десятичное представление Двоичное представление Представление в прямом коде Представление в обратном коде Представление дополнительном коде 23 10111 00010111 127 1111111 01111111 1 1 00000001 имеют одинаковое представление Число 2310=101112 Число 12710=11111112 прямой, обратный и дополнительный код 0 0 0 1 1 1 0 «+» 1 1 «+» Число 110=12 прямой, обратный и дополнительный код 0 «+» 0 0 0 1 1 1
Формы записи целых отрицательных чисел Десятичное представление Двоичное представление Представление в прямом коде Представление в обратном коде Представление дополнительном коде -1 -1 10000001 11111110 1111 -17 -10001 10010001 11101111 -127 -1111111 10000000 10000001 Прямой код числа -17: 1 0 0 1 0 Прямой код числа -127: 0 0 1 «-» 1 1 0 1 1 1 1 1 0 0 0 0 «-» Дополнительный код числа -17: «-» 1 Обратный код числа -127: «» 1 1 «-» Обратный код числа -17: 1 1 0 1 1 1 Дополнительный код числа -127: 1 1 «-» 0 0 0 1
Представление чисел в ЭВМ В ЭВМ применяются две формы представления чисел: Естественная форма, или форма с фиксированной запятой (точкой) Нормальная форма, или форма с плавающей запятой (точкой)
Фиксированная запятая n В форме представления с фиксированной запятой (точкой) числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной. Пример: +00721. 35550 +00000. 00328 -10301. 20260 n n Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому чаще всего неприемлема при вычислениях. В современных компьютерах естественная форма представления используется, как вспомогательная и только для целых чисел.
Кодирование вещественных чисел Для представления вещественных чисел (конечных и бесконечных десятичных дробей) используют формат с плавающей точкой (запятой). Форма с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления р в некоторой целой степени n, которую называют порядком: R = m * рn m – мантисса, n – порядок, p – основание системы.
Например: число 25, 324 можно записать в таком виде: 0. 25324 х102. Здесь m=0. 25324 — мантисса, n=2 — порядок. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть» , т. е. сместиться десятичная точка в мантиссе. Отсюда название «плавающая точка» . Однако справедливы и следующие равенства: 25, 324 = 2, 5324*101 = 0, 0025324*104 = 2532, 4*102 и т. п.
Получается, что представление числа в форме с плавающей точкой неоднозначно? Чтобы не было неоднозначности, в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализованном представлении должна удовлетворять условию: 0, 1 p ≤ m < 1 p. Иначе говоря, мантисса меньше единицы и первая значащая цифра — не ноль. Значит для рассмотренного числа нормализованным представлением будет: 25, 324=0. 25324 * 102.
Задание № 31 Приведите числа с плавающей запятой в нормализованный вид: 10, 3510= 0, 000072458= F 5 C, 9 B 16=