Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Перевод чисел из одной системы счисления в другую, когда одно основание является целой степенью другого
Как мы уже знаем, в ЭВМ наибольшее применение находит система с основаниями 2, 4, 8, 16, т.е. системы которые кратны степени 2. Поэтому целесообразно рассмотреть лишь правила перевода чисел в этих системах. Аналогичные правила будут справедливы и для других систем. Допустим, что имеется некоторое целое число N8 в 8-ой системе. Оно может быть представлено в виде: N8 = a1*8n-1 + a2*8n-2 + a3*8n-3 +... + an-2*82 + an-1*81 + an*80.Пусть каким-либо образом мы получили запись этого числа в виде двоичного, т.е.: N2 = b1*2k-1 + b2*2k-2 +... + bk-2*22 + bk-1*21 + bk*20.Разделим эти выражения на 23 = 8: a1*8n-2 + a2*8n-3 + a3*8n-4 +... + an-1*80 + an*8-1 ------- дробная часть b1*2k-4 + b2*2k-5 +... + bk-3*20 + bk-2*2-1 + bk-1*2-2 + bk*2-3 ------------------------- дробная частьТак как числа были равны, то получается одинаковые частные и одинаковые остатки: an*8-1 = bk-2*2-1 + bk-1*2-2 + bk*2-3. (6.2) Если снова разделим целые части на 23 = 8, то опять получим равные частные и равные остатки. При этом видим, что каждой восьмеричной цифре соответствует её двоичный эквивалент. Поэтому перевод выполняется простой заменой цифры восьмеричной системы её двоичным эквивалентом и обратно. Пример: 62,7538 = 110010,1111010112Аналогично для 4-ой системы: 321,22334 = 111001,101011112Аналогично для 16-ой системы: 1D876,72 = 00011101100001110110,011100102Из этих примеров видим, что чем выше основание системы счисления, тем компактнее запись.
Если умножить последние соотношения (6.2) на 8, то: an*8-1*8 = (bk-2*2-1 + bk-1*2-2 + bk*2-3)*23an = bk-2*22 + bk-1*21 + bk*20
Плавающая запятая В ЭВМ с плавающей запятой число представляется в виде: X = ± Mx * q±p, где: Mx - мантисса числа; q - основание системы счисления; p - порядок. Разрядная сетка машины принимает следующий вид: Это лишь условное изображение основных слогов в числе. Заметим, что в реальной ЭВМ может быть принят любой другой порядок расположения. Пусть "m" разрядов отведено под изображение мантиссы, а "k" разрядов под изображение порядка. Тогда для двоичной системы и нормализованного вида числа: q = 2;0,1 Mx < 1 - нормализованная мантисса. То есть диапазон чисел: Абсолютная ошибка представления числа в ЭВМ с плавающей запятой равна: |ΔX| 0,5*2-mТак как 2-1 |Mx| 1-2-m, то минимальная относительная ошибка: |ΔX|min = (0,5*2-m) / (1 - 2-m) 2-(m+1), при m - большом,а максимальная относительная ошибка: |ΔX|max =(0,5*2-m) / (2-1) = 2-mВидно, что относительная ошибка в ЭВМ с плавающей запятой не зависит от порядка числа. При этом точность представления больших и малых чисел изменяется незначительно. Теоретически "плавающая запятая" имеет преимущества перед "фиксированной". Но соответствующее устройство получается намного сложнее. К тому же специфика выполнения операций с плавающей запятой требует большего числа микроопераций, что приводит к снижению быстродействия ЭВМ. Однако "плавающая запятая" снимает с программиста обязанность отслеживать положение запятой в вычислениях и значительно упрощает сам процесс программирования вычислительных задач. Date: 2016-05-14; view: 628; Нарушение авторских прав |