Конспект лекций Губарь (Конспект лекций "Начальный курс информатики" А.М.Губарь), страница 8
Описание файла
PDF-файл из архива "Конспект лекций "Начальный курс информатики" А.М.Губарь", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 8 страницы из PDF
Кроме того,в некоторых языках существует специальное слово для обозначения именноцифры 12: например, в русском языке – это дюжина, в английском – dozen.Внастоящеевремяобщеупотребительнойявляетсяпозиционнаядесятичная система счисления, «завезенная» в Европу арабами, которыевосприняли ее у индусов. Она имеет основание 10, в ней, как известно, длязаписи чисел используются 10 различных цифр, а любое число может бытьпредставленоввидесуммыстепенейчисла10,умноженныхнасоответствующие коэффициенты, взятые из записи числа, например:123,45 = 1 ۰ 102 + 2 ۰ 101 + 3 ۰ 100 + 4 ۰ 10-1 + 5 ۰ 10-2.Итак, в десятичной системе разряду единиц числа соответствует нулеваястепень десяти, разряду десятков – первая степень, разряду сотен – вторая,разряду десятых – минус первая степень и т.д., а любая цифра изменяет свойвес в 10 раз при перемещении в числе на один разряд вправо или влево.С развитием вычислительной техники нашли применение позиционныесистемы счисления с другими основаниями, например, двоичная, троичная,восьмеричная, шестнадцатеричная.
Алфавиты цифр этих систем приведены втаблице 2.1:Т а б л и ц а 2.1Алфавиты цифр систем счисленияN2381016Цифры000001111122223334445556667778899ABCDEFЭлементы, применяемые в компьютере для представления чисел, являютсядвухпозиционными, то есть обладают двумя устойчивыми состояниями,одно из которых обозначается как 0, другое – как 1, поэтому числа в немпредставляютсявдвоичнойсистеме.Техническийэлемент,«понимающий» и «запоминающий» эти состояния, должен распознаватьлишь два сигнала: высокий уровень сигналаможет соответствоватьединице, а низкий – нулю.
Ясно, что строить элементы, распознающие 10различныхсостояний,соответствующихдесятиразнымцифрам,неизмеримо сложнее, и построение вычислительного устройства в этомслучае потребовало бы больших затрат.Итак, в двоичной системе применяются лишь две цифры – 0 и 1, а числопредставляется в виде суммы степеней двойки, умножаемых на 0 или 1:10102 = 1 ۰ 23 + 0 ۰ 22 + 1 ۰ 21 + 0 ۰ 20 = 8 + 2 = 1010.Поскольку теперь мы будем работать с разными системами счисления, вкачестве индекса числа будем указывать основание системы, в которой эточисло записано.Троичная система также имеет отношение к вычислительной технике,поэтому следует упомянуть о ней. Дело в том, что, с одной стороны, чемменьше основание системы счисления, тем меньшее количество различныхцифр используется для записи чисел (это видно из таблицы 2.1), а длякодирования последних – меньше различных физических состояний.
В этомсмысле наиболее удобной для применения в компьютерах является двоичнаясистема. С другой стороны, чем больше основание системы, тем корочезапись числа. Этот вывод подтверждается последним примером, в которомчисло десять в десятичной системе является двухразрядным, а в двоичнойсистеме – четырехразрядным. Следовательно, в этом случае требуетсяменьшеаппаратурыдляпредставлениячисел.Былопоказано,чтооптимальной с точки зрения наименьшего количества используемойаппаратуры является система счисления с основанием e 2,718 (рис.
2.1).Рис. 2.1. Зависимость количества аппаратуры от системы счисленияТакую систему неудобно применять, поэтому, округляя до ближайшегоцелого, получим, что троичная система наилучшим образом удовлетворяетпоставленной задаче минимизации количества аппаратуры (без учета другихсоображений).
И действительно, на начальном этапе развития былипостроены несколько компьютеров, работающих с использованием троичнойарифметики. Однако от этой идеи быстро отказались, так как в пользудвоичнойсистемы«перевесили»такиефакторы,какпростотаибыстродействие используемых элементов, а также степень сложностивыполнения арифметических и логических операций.В восьмеричной системе для записи чисел используются 8 цифр:0, 1, 2, 3, 4, 5, 6, 7,а любое число может быть представлено в виде суммы степеней восьмерки,умноженных на эти цифры (коэффициенты), например:1458 = 1 ۰ 82 + 4 ۰ 81 + 5 ۰ 80 = 10110 .Восьмеричная система занимает промежуточное место между двоичнойи десятичной системами и может использоваться для удобства ручногоперевода чисел из одной системы в другую.
Кроме того, в «старых» ЭЦВМ(электронных цифровых вычислительных машинах – такая аббревиатурабылараньшеобщеупотребительнатрансформироваласьвЭВМ)внашейкоманды,стране,составляющиепозднееонапрограмму,записывались в восьмеричной системе счисления, что сокращало длину ихзаписи, поскольку при этом каждая тройка двоичных цифр (двоичная триада)заменялась одним символом.Шестнадцатеричная система также является вспомогательной ипредназначена для удобства представления относительно длинных двоичныхчисел, поскольку при этом каждая четверка двоичных цифр (двоичнаятетрада) заменяется одним символом. Некоторая сложность ее использованиязаключается в том, что в ней для записи чисел используются 16 цифр (а мыпривыкли к десяти), поэтому десятичные числа от десяти до пятнадцативключительно в шестнадцатеричной системе представляются в виде цифр.Для обозначения недостающих цифр используются начальные заглавныебуквы латинского алфавита:10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F.Тогда шестнадцатеричное число можно расписать по степеням шестнадцатиследующим образом:3C416 = 3 ۰ 162 + C ۰ 161 + 4 ۰ 160 = 3 ۰ 256 + 12 ۰ 16 + 4 ۰ 1 = 96410 .В таблице 2.2 приведены примеры записи некоторых целых десятичныхчисел в рассмотренных системах счисления.Т а б л и ц а 2.2Числа систем счисленияДесятичное Двоичное Восьмеричное0001112102311341004510156110671117810001091001111010101211101113121100141311011514111016151111171610000201710001211810010221910011232010100243011110364010100050501100106260111100747010001101068010100001209010110101321001100100144Шестнадцатеричное0123456789ABCDEF10111213141E28323C46505A64В общем случае любое смешанное число А в позиционной системесчисления с основанием N может быть представлено в виде полинома пооснованию N:AN = kn-1 ۰ Nn-1 + … + k1 ۰ N1 + k0 ۰ N0 + k-1 ۰ N-1 + … + k-m ۰ N-m.Более компактно эта же запись выгляди так:n-1AN = ∑ ki ۰ N i .i = -mИтак, существуют несколько позиционных систем счисления, нашедшихприменение в вычислительной технике.
В связи с этим возникает проблемаперевода чисел из одной системы в другую.2.2. Перевод чисел из одной системы счисления в другуюСначала рассмотрим способы перевода целых чисел.Чтобы перевести исходное число из двоичной (восьмеричной илишестнадцатеричной) системы счисления в десятичную систему, его надопредставить в виде суммы степеней числа 2 (чисел 8 или 16 соответственно,если речь идет о восьмеричной или шестнадцатеричной системах),умноженных на соответствующие коэффициенты, взятые из записи числа, иполученные произведения сложить. При этом надо учитывать, что разрядединиц целого числа соответствует нулевой степени, следующий разряддесятков – первой степени и т.д.Фактически примеры такого перевода чисел рассмотрены ранее, когдашла речь о представлении чисел в той или иной позиционных системах.Обратный перевод осуществляется следующим образом.Чтобы перевести целое число из десятичной системы счисления вдвоичную (восьмеричную или шестнадцатеричную) систему, его надопоследовательно нацело делить на 2 (8 или 16), запоминая остатки, до техпор, пока в последнем частном не получим 1 (число, меньшее восьми илишестнадцати соответственно).
Затем, начиная с этого последнего частного,выписываются все остатки.Например:35│2Или 35│1-34 17│21 -16 8│21 -8 4│20 -4 2│20 -2 1.017│18│04│02│01│Наконец, эту же схему перевода можно представить и так:Частные: 35:2→17:2→8:2→4:2→2:2→1.Остатки:11000.Результат, естественно, во всех трех случаях будет один и тот же:3510 = 1000112.Рассмотрим еще несколько примеров перевода с использованием последнейсхемы:Частные: 687:16→42:16→2.Остатки:1510.Результат:68710 = 2AF16.Частные: 101:2→50:2→25:2→12:2→6:2→3:2→1.Остатки:101001.Таким образом, получаем, что10110 = 11001012.Аналогично имеем:101:8→12:8→1 и 10110 = 1458 или 101:16→6 и 10110 = 6516.545Для быстрого перевода десятичных чисел в двоичную систему полезнознать степени числа 2, которые часто используются.
В этом случае схемаперевода может быть представлена по-другому:Показатель: 0 1 2 3 4 5 6 78910.Степень: 1 2 4 8 16 32 64 128 256 512 1024.Предположим, надо перевести десятичное число 241 в двоичнуюсистему. Замечаем, что 241 = 128 + 64 + 32 + 16 + 1. Тогда получим:Степени двойки: 128 64 32 16 8 4 2 1.Двоичные разряды: 111 1 0 0 0 1,то есть24110 = 111100012.Теперь рассмотрим, как переводить числа из двоичной системысчисления в восьмеричную или шестнадцатеричную системы и обратно.Чтобыперевестицелоедвоичноечисловвосьмеричнуюилишестнадцатеричную системы, его, начиная с младшего разряда, надо разбитьна триады или тетрады, то есть на группы по три или четыре двоичныхразряда, и каждую триаду (тетраду) представить цифрой восьмеричного(шестнадцатеричного) числа, например:110011012 = 11'001'1012 = 3158 или 110011012 = 1100'11012 = CD16 .Обратный перевод производится аналогично: каждая восьмеричная илишестнадцатеричная цифры представляются двоичной триадой или тетрадойсоответственно, например:5678 = 101'110'1112 = 1011101112 ,А1916 = 1010'0001'10012 = 1010000110012 .В заключение рассмотрим два примера "полного" перевода целых чисел.Пример 1:11011101012 → a8 → b10 → c16 → d2 .d2 → a8 :1'101'110'1012 = 15658;a8 → b10 :15658 = 1 ۰ 83 + 5 ۰ 82 + 6 ۰ 81 + 5 ۰ 80 = 512 + 320 + 48 + 5 = 88510;b10 → c16 :885:16=55:16=3 и 88510 = 37516;57c16 → d2 :37516 = 11'0111'01012 = 11011101012 .Таким образом, 11011101012 = 15658 = 88510 = 37516 = 11011101012 .Пример 2:AB416 → a10 → b8 → c2 → d16 .d16 → a10 :AB416 = A ۰ 162 + B ۰ 161 + 4 ۰ 160 = 10 ۰ 256 + 11 ۰ 16 + 4 = 274010;a10 → b8 :2740:8=342:8=42:8=5 и 274010 = 52648;462b8 → c2 :52648 = 101'010'110'100 = 1010101101002;c2 → d16 :1010101101002 = 1010'1011'0100 = AB416 .Окончательно получаем: АВ416 = 274010 = 52648 = 1010101101002 = АВ416 .Теперь займемся переводом правильных дробей и смешанных чисел.Для перевода правильной десятичной дроби ее необходимо умножить наоснование той системы, в которую она переводится, полученная при этомцелая часть произведения является первой цифрой после запятой искомогочисла.
Затем дробные части получающихся произведений также умножаютсяс получением новых цифр в виде целых частей до тех пор, пока не будетполучена требуемая точность. Например:0,12510 → а2 :0,125 0,12510 = 0,0012 .20,25020,50021,000В данном примере процесс перевода завершился с получением точногорезультата, так как дробная часть последнего произведения оказаласьнулевой. И действительно0,0012 = 0 ۰ 2-1 + 0 ۰ 2-2 + 1 ۰ 2-3 = 1/8 = 0,12510 .Однако ясно, что этого можно достичь далеко не всегда (например, приисходном числе 0,126). Вот поэтому была упомянута требуемая точность: вобщем случае процесс перевода надо продолжать, пока не будет полученонужное количество цифр после запятой.