Непозиционные Позиционные Египет Вавилон Индия Майя Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе. В настоящее время наиболее используемыми являются системы счисления: Двоичная, восьмеричная и шестнадцатеричная системы удобны для компьютеров. Недостаток двоичной системы – быстрый рост числа разрядов, необходимый для записи чисел. Примеры записи чисел в разных системах счисления: Выбранное нами число в различных системах счисления может быть изображено с помощью разных знаков, например, число 15 в десятичной системе соответствует 1111 в двоичной системе, 17 в восьмеричной системе и F в шестнадцатеричной системе Развернутая форма записи числа В позиционной системе счисления любое вещественное число может быть представлено в виде: где: • • • • • А q aI n m – само число; – основание системы счисления; – цифры данной системы счисления – число разрядов целой части числа; – число разрядов дробной части числа. Разряды Число 2 10 -1 757,710= 7•102 + 5•101 + 7•100 + 7•10-1 2 10 3AF16= 3•162 + A•161 + F Перевод чисел из одной системы счисления в другую 10 → 2 (целые числа) Алгоритм перевода целых чисел из десятичной системы счисления в любую другую. • • • 2510=110012 Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы до тех пор, пока не получится частное, меньше делителя. Получаемые остатки, являющиеся цифрами в новой системе счисления, привести в соответствие с алфавитом новой системы счисления. Составить число в новой системе, записывая его, начиная с последнего остатка. Перевести число из десятичной системы в двоичную: 124 2 -124 62 0 -62 246 2 2 -246 123 2 31 2 0 -122 61 2 0 -30 15 2 1 -60 30 2 1 -14 7 2 1 -30 15 2 1 -6 3 2 0 -14 7 2 1 -2 1 12410=11111002 1 1 -6 3 2 24610=111101102 1 -2 1 1 10 → 8 (целые числа) Алгоритм перевода целых чисел из десятичной системы счисления в любую другую. • • • 124 8 -120 15 8 4 -8 1 7 12410=1748 Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы до тех пор, пока не получится частное, меньше делителя. Получаемые остатки, являющиеся цифрами в новой системе счисления, привести в соответствие с алфавитом новой системы счисления. Составить число в новой системе, записывая его, начиная с последнего остатка. 10 → 16 (целые числа) Алгоритм перевода целых чисел из десятичной системы счисления в любую другую. • • • Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы до тех пор, пока не получится частное, меньше делителя. Получаемые остатки, являющиеся цифрами в новой системе счисления, привести в соответствие с алфавитом новой системы счисления. Составить число в новой системе, записывая его, начиная с последнего остатка. 124 16 -112 7 12 = С 39310=18916 12410=7С16 10 → 2,8,16 (десятичная дробь) Алгоритм перевода Для того чтобы перевести правильную десятичную дробь из десятичной системы счисления в другую, необходимо последовательно умножать эту дробь, а затем получаемые дробные части на основание той системы, в которую она переводится. Умножение производится до тех пор, пока дробная часть не станет равной нулю или не будет достигнута требуемая точность. В новой системе дробь записывается в виде целых частей произведений, начиная с первого. Пример 2. Перевести число 0,6562510 в Пример 1. Перевести число Пример 3. Перевести число восьмеричную систему счисления 0,532 из десятичной системы в 0,974 из десятичной системы в двоичную с точностью до шестнадцатеричную с точностью тысячных. до тысячных. Решение: Последовательно Решение: Последовательно умножаем на 2 только дробную умножаем на 16 только дробную часть. часть. 1510=F16 0|532 0|974 1|064 15|584 0|128 9|344 0|256 5|504 Ответ: 0,1002 Ответ: 0,F9516 Пример 1. Перевести число 344,532 из десятичной системы в двоичную с точностью до тысячных. Решение: Переводим целую часть числа. Получаем 34410 =1010110002. Переводим, с указанной точностью, дробную часть. Получаем 0,53210 = 0,1002 Дописываем после целой части дробную: 344,53210 =101011000,1002. Пример 2 Перевести число 153,2510 в восьмеричную систему Решение: Переводим целую часть числа. Получаем 15310=2318 Для дробной части 0,2510=0,28 153,2510 =231,28 Пример 3. Перевести число 936,974 из десятичной системы в шестнадцатеричную с точностью до тысячных. Решение: Переводим целую часть числа. Получаем 93610 = 3A816. Переводим, с указанной точностью, дробную часть. Получаем 0,97410 = 0,F9516. Дописываем после целой части дробную: 936,97410 = 3A8,F9516. Ответ: 3A8,F95 . 2,8,16 → 10 Алгоритм перевода чисел из любой системы счисления в десятичную: Представьте число в развернутой форме. При этом основание системы счисления должно быть представлено в десятичной системе счисления. Найдите сумму ряда. Полученное число является значением числа в десятичной системе счисления. Перевести числа в десятичную систему: 10 -1 16,4 8=1*81+6*80+4*8-1=8+6+0.5=14.510 210 101 2=1*22+0*21 +1*20=4+0+1=510 210 110 2=1*22+1*21 +0*20=4+2+0=610 Перевести числа из восьмеричной в двоичную систему: 8→2 2768 010 111 110 276 8=101111102 2 5, 024 8 010 101 000 010 100 25,024 8=10101,00001012 2 →8 Перевести числа из двоичной системы в восьмеричную: 0,111 011 0112=0,7338 0 7 3 3 11 001 0102=3128 3 1 2 16 → 2 Перевести числа из шестнадцатеричной в двоичную систему: 1 A C 7 16 0001 1010 1100 0111 1AC7 16=11010110001112 FA16 1111 1010 2 →16 FA16=111110102 Перевести числа из двоичной системы в шестнадцатеричную: 0,1110 1101 10002=0,ED816 0 E D 8 1100 1010 2=CA16 C A Арифметические операции Основные арифметические операции в позиционных системах счисления проводятся по тем же правилам, по которым они проводятся в десятичной системе счисления. Только таблицами сложения и умножения надо пользоваться особыми для каждой системы. Сложение ( Двоичная система ) Таблица сложения 0+0=0 0+1=1 1+0=1 1 1 = 1 + 1 = 10 Пример4 1102 + 1012 1 10112 Пример5 Пример6 0102 10012 + 0112 + 00102 1 1012 10112 1 Вычитание ( Двоичная система ) Таблица вычитания 0<1, занимаем 1 0<1, нужно занять 1 в предыдущих разрядах, но в ближайших двух нули, поэтому занимаем в старшем разряде, где есть 1 в предыдущем разряде 10-1=1 в предыдущем разряде 10-1=1 так как занимали 1 в старшем разряде, здесь осталась 1 10-1=1 1-1=0 1-1=0 от 1 остался 0 1-0=1 так как занимали 1 в старшем разряде, здесь осталась 1 1-1=0 от 1 остался 0 1-0=1 1-1=0 0<1, занимаем 1 от 1 осталось 0, занимаем 1 в старшем разряде, где есть 1 10-1=1 занимали в старшем разряде, поэтому осталась 1 от 1 остался 0 Сложение ( Восьмеричная система ) Таблица сложения =118 = 68 =128 = 78 305,408 + 24,758 11 1 332,358 7+5=148 3+2+1=68 0+5=58 7+4=138 5+4+1=128 0+2+1=38 Вычитание ( Восьмеричная система ) Таблица сложения 4<5, занимаем 1 в предыдущем разряде 14-5=7 от 5 осталось 4, 4-0 =4 3<7, занимаем 1 в предыдущем разряде 13-7=4 от 6 осталось 5, 5-2=3 11 1 1 305,408 - 24,758 260,438 0<5, занимаем 1 в предыдущем разряде 6348 - 2758 3378 4<5, занимаем 1 в предыдущем разряде 8-5=3 8+4-5=7 от 4 осталось 3, 3< 7, занимаем 1 , 3+8-7 =4 от 3 осталось 2, 2< 7, занимаем 1 , 2+8-7 =3 от 5 осталось 4, 4-4=0 от 6 осталось 5, 5-2=3 0<2, занимаем 1 в предыдущем разряде 8-2=6 от 3 осталось 2 Сложение ( Шестнадцатеричная система ) Таблица сложения 293,8016 + 3СС,9816 1 11 660,1816 0+8=8 8+9=11 3+С+1=10 9+С+1=16 2+3+1=6 Вычитание ( Шестнадцатеричная система) Таблица сложения C-8=4 9-7=2 1 1 1 3 A 4 E,516 - F C 4,F16 2 A 8 9,616 5<F, занимаем в предыдущем разряде 15-F=6 E-1-4=9 4<C, занимаем в предыдущем разряде 14-C=8 A<F, занимаем в предыдущем разряде 19-F=A от 3 осталось 2 Умножение ( Двоичная система) Таблица умножения 0*0=0 0*1=0 = 1*0=0 1 *1 = 1 ПРИМЕРЫ: 010 * 011 ------010 010 ------110 Умножение (Восьмеричная система) Таблица умножения ПРИМЕРЫ: 163 * 63 -----531 1262 -------13351 Таблица сложения 1560,2 * 101,2 ----------33404 15602 00000 15602 --------------160134,24 Умножение ( Шестнадцатеричная система ) Таблица умножения Таблица сложения ПРИМЕРЫ: 2F 16 * 15 16 ----------E8 588 --------------332,А016 2С,416 * 12,816 ----------1620 588 2С4 --------------332,А016 Кодирование информации В большинстве современных компьютеров для хранения символа отводится 8-разрядная ячейка (байт). В байт можно записать 256 различных двоичных чисел – это позволяет закодировать 256 разных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые символы. Для того, чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера. Для английского языка эти противоречия уже сняты. Институт стандартизации США ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США). В ней закреплены две таблицы кодирования – базовая и расширенная. Базовая закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255. Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и соответственно, эти коды не выводятся ни на экран, ни на устройство печати. В России широко используются две таблицы кодировки: КОИ-8 (двоичный восьмибитовый Код Обмена Информацией) Windows1251 Базовая таблица кодировки ASCII Базовая таблица кодировки ASCII Слово APPLE в кодировке ASCII будет выглядеть как : 65 80 80 76 69 Слово Irkutsk в кодировке ASCII будет выглядеть как : 73 114 107 117 116 115 107