Автор работы: Пользователь скрыл имя, 11 Декабря 2010 в 14:59, реферат
Понятие информации и информатики
Теперь сложим эти числа в другом порядке. Сначала найдем сумму 1/8 и 1/8, которая равна 1/4. В двоичном представлении 1/4 равна .01. Результат первого шага будет храниться в байте 00111000, что верно. Теперь находим сумму 1/4 и следующего числа 21/2, получаем значение 23/4, которое хранится в байте 01101011. На этот раз мы получили правильный ответ.
Следовательно, при сложении числовых значений важен порядок их сложения. Проблема состоит в том, что при сложении большого и маленького числа, маленькое число может отсекаться. Поэтому общее правило сложения чисел звучит следующим образом: сначала складываем небольшие числа, надеясь, что в сумме они дадут число, которое можно сложить с большим. Именно так мы поступили в предыдущем примере.
Разработчики современного коммерческого программного обеспечения защищают неграмотного пользователя от таких проблем, как эта. В обычных программах табличных вычислений пользователь получит правильный ответ, если только слагаемые не различаются в 106 раз. Следовательно, если вам нужно прибавить единицу к 10 000 000 000 000 000, вы получите 10 000 000 000 000 000, а не 10 000 000 000 000 001.
Проблема сложения важна в прикладных системах (например, в навигационных устройствах), так как незначительная ошибка может увеличиться в процессе дальнейших вычислений и, в конце концов, привести к серьезным последствиям, но для обычных пользователей ПК такой точности вполне достаточно.
Необходимость перевода чисел из одной системы счисления в другую объясняется тем, что компьютер работает в двоичной системе, а вводим мы данные и получаем их на экран и принтер в десятичной системе счисления . Поэтому необходимо преобразовывать вводимые данные из десятичной системы счисления в двоичную, а выводимые данные – из двоичной в десятичную. В некоторых случаях возникает необходимость преобразовывать десятичные числа в шестнадцатеричные и шестнадцатеричные в десятичные. Преобразование чисел выполняется автоматически по приведенным ниже правилам.
Число последовательно делится на основание новой системы 2 до тех пор, пока делитель не станет меньше делимого, после чего полученные нули и единицы (т.е. все остатки) выписываются в обратном порядке. Напомним, что при переводе чисел из десятичной системы в двоичную систему остатками могут быть только нули и единицы.
Пример перевода десятичного числа 12 в двоичную систему счисления приведен на рис.1.15.
Рис.1.15. Преобразование числа 12 из десятичной системы счисления в двоичную
Дробная часть
десятичного числа
Пример перевода десятичного числа 0,25 в двоичную систему счисления приведен на рис.1.16.
В результате получаем двоичное число 01, т.е. 0,2510 = 0.012.
Рис.1.16. Перевод числа 0,25 в двоичную систему счисления
Для преобразования двоичного числа в десятичное необходимо записать сумму членов ряда и вычислить по следующему правилу:
a1*2n-1+a2*2n-2+…+an-1*21+an*2
где: а – цифра двоичного числа (0 или 1),
n - количество двоичных разрядов в целой части числа.
Пример перевода двоичного числа 1010 (здесь n=4) в десятичную систему (используем первую часть выражения [1] – до запятой):
10102 = 1*23 + 0*22 + 1*21 + 0*20 = 8+0+2+0 = 1010
Пример перевода дробной части двоичного числа 0.01 в десятичную систему счисления (используем вторую часть выражения [1] – после запятой):
01 = 0*2-1 + 1*2-2 = 0 + ¼ = 0,25. Получаем 0.012 = 0,2510 .
Для перевода десятичных чисел в любую другую систему счисления используется то же правило, что и в пункте 1 данного параграфа, только последовательно необходимо делить на основание этой другой системы: в восьмеричную – на число 8, в шестнадцатеричную – на число 16. Напомним, что в восьмеричной системе для записи используются цифры от 0 до 7, а в шестнадцатеричной – цифры от 0 до 9 и буквы латинского алфавита A, B, C, D, E, F (букве А соответствует десятичное число 10, букве В – число 11 и т.д.). Так, например, одно и тоже десятичное число 91 будет представлено в различных системах счисления (двоичной, четверичной, восьмеричной, десятичной и шестнадцатеричной) следующим образом:
10110112 = 11234 = 1338 = 9110 = 5B16
Обратный перевод чисел из некоторой системы счисления в десятичную выполняется также в соответствии с правилом [1], только в выражении записывается не множитель 2, а основание данной системы счисления (из четверичной – 4, из восьмеричной – 8 и т.д.).
Для быстрого перевода чисел рекомендуется использовать таблицу 1.2 (для чисел от 0 до 15) или компьютерную программу Калькулятор (в режиме Инженерный) либо воспользоваться функциями преобразования пакета Excel.
Таблица 1.2
Десятичн. число | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Двоичное число | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 |
Шестнадц. число | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Продолжение таблицы 1.2
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
8 | 9 | A | B | C | D | E | F |
Часто бывает необходимым преобразовывать шестнадцатеричное число в двоичное и обратно. Для этого достаточно каждую цифру шестнадцатеричного числа записать четырьмя двоичными разрядами – тетрадой. И обратно – в двоичном числе справа налево выделить тетрады и заменить их цифрами шестнадцатеричной системы счисления.
Пример. Преобразовать число 3С12А в двоичную систему и обратно. Записываем каждую цифру четырьмя двоичными разрядами: 0011 1100 0001 0010 1010. Отбрасываем левые незначащие нули и получаем двоичное число 111100000100101010. Обратно: отделяем справа налево по 4 разряда (левые два разряда 11 – неполная тетрада) и заменяем их цифрами шестнадцатеричной системы – 3С12А.
Аналогично выполняется преобразование восьмеричного числа в двоичное и обратно. Разница состоит в том, что вместо тетрады используется триада – по три двоичных разряда на каждую цифру восьмеричного числа.
В настоящее время очень удобно для преобразования чисел из одной системы счисления в другую использовать программу Excel. Для этого достаточно в открывшемся окне соответствующей функции ввести число и получить ответ.
Например, требуется преобразовать десятичное число 38 в двоичное.
Для этого в категории инженерные функции вызываем функцию ДЕС.В.ДВ:
Шаг 1:
Шаг 2:
Шаг 3, в соответствующее
окно вводим число 38. Если
окно разрядность не
заполняется, то ПК возвращает
необходимое количество
разрядов двоичного
числа:
Шаг 4, нажать на кнопку ОК и получить результат:
Анологичным образом поступают во всех остальных случаях.
Перечислим функции преобразования чисел из одной системы счисления в другую:
Арифметические операции – сложение, умножение, вычитание и деление двоичных чисел и ряд других действий выполняет центральный процессор.
Обозначим исходные переменные буквами a, b, результат – буквой y. Каждая из переменных в двоичной системе счисления может принимать только одно из двух возможных значений – 0 или 1. Следовательно, число значений переменной у будет равно 22 = 4. Сложение y=a+b и умножение y=a*b выполняются по правилам, указанным в таблице 1.3.
Как следует
из таблицы, правила сложения (кроме
последней строки) и умножения
совпадают с правилами
Таблица 1.3
Сложение | Умножение | ||||
a | b | Y | a | b | y |
0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 0 и 1 переноса
в
левый старший разряд |
1 | 1 | 1 |
Пример 1. Сложить
два двоичных числа 1100 и 101. Выполним
это действие по правилам арифметики,
используя Таблицу 1.3 и складывая 1 1 0 0
цифры поразрядно справа налево. + 1 0 1
Единицы переноса отмечены звез- -----------