Форум: "Прочее";
Текущий архив: 2013.11.10;
Скачать: [xml.tar.bz2];
ВнизНормализованое число Найти похожие ветки
← →
Сергей (2013-05-28 05:11) [0]Здравствуйте мастера! Объясните пожалуйста, как можно представить число в нормализованном виде? 0,11000101... Как можно записать прямой, обратный и дополнительный код данного числа?
← →
Ega23 © (2013-05-28 07:39) [1]
> число в нормализованном виде
Стесняюсь спросить: а нормализованный вид - это как?
← →
boriskb © (2013-05-28 07:47) [2]
> Стесняюсь спросить: а нормализованный вид - это как?
Это не у него надо спрашивать, а у его преподователя.
← →
Алканавт расправил плечи (2013-05-28 07:54) [3]Нормализованный вид — представление числа в форме с плавающей запятой в виде 0.1xxxxxxx * 2^n. То бишь в данном примере число и так в нормализованном виде. Хотя совершенно неочевидно, что оно таки с плавающей запятой.
← →
Inovet © (2013-05-28 07:59) [4]> [3] Алканавт расправил плечи (28.05.13 07:54)
> с плавающей запятой
Тогда как ответить на вторую часть вопроса?
← →
Алканавт расправил плечи (2013-05-28 08:02) [5]На вторую часть вопроса ответить невозвожно, не зная разрядностей мантиссы и показателя степени. Точнее, не удастся сформировать дополнительный код. А обратный — тупо заменить первый ноль на единицу.
← →
Алканавт расправил плечи (2013-05-28 08:07) [6]тьфу, вру, не проснулся ишшо. Первый ноль заменить на единицу — это таки отрицательное число в прямом коде. Если все биты проинвертировать, то в обратном. В дополнительном — все биты проинвертировать, а затем к добавить единицу к младшему биту, чего мы, очевидно, не можем сделать, так как младшие биты стыдливо прикрыты многоточием.
← →
Dimka Maslov © (2013-05-28 08:17) [7]Насколько я помню, нормализованный вид - это когда целая часть мантиссы записывается одной цифрой, отличной от нуля. Следовательно для числа 0,11000101...нормализованным будет 1.1100101E-1
← →
Inovet © (2013-05-28 08:18) [8]Также не упомянута система счисления.
← →
Алканавт расправил плечи (2013-05-28 08:22) [9]Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1) (). Число с плавающей запятой, находящееся не в нормальной форме, теряет точность по сравнению с нормальной формой.[источник не указан 1435 дней] Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001·100, 0,001·10−1, 0,01·10−2, 0,1·10−3), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) (). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.
Так как старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен «1», то при записи мантиссы числа в эвм старший разряд можно не записывать, что и используется в стандарте IEEE 754. В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого свойства нет.
← →
Павиа (2013-05-28 08:56) [10]
> Стесняюсь спросить: а нормализованный вид - это как?
А это по Кнуту. Том 2.
> В. Нормализованные вычисления. Число с плавающей точкой
> (е, f) является
> нормализованным, либо если наиболее значимая цифра в представлении
> f отлична от нуля, так что
> 1/b<=Abs(f) < 1,
>
> либо если f = 0, а е принимает наименьшее возможное
> значение. Чтобы установить, какое из двух нормализованных
> чисел с плавающей точкой имеет большую величину, достаточно
> сравнить их порядки; только если порядки равны, нужно анализировать
> и дробные части.
> Большинство ныне применяемых стандартных подпрограмм работает
> почти исключительно с нормализованными числами: предполагается,
> что входные значения для подпрограмм нормализованы, а результаты
> всегда нормализуются. ...
А вообще есть формат IEEE 754 который также определяет нормализованный вид числа
> 2.1.38 normal number: For a particular format, a finite
> non-zero floating-point number with magnitude
> greater than or equal to a minimum b emin value, where b
> is the radix. Normal numbers can use the full
> precision available in a format. In this standard, zero
> is neither normal nor subnormal.
← →
Jeer © (2013-05-28 10:34) [11]Есть нормальная форма, есть нормализованная и есть уточнение нормализованной. :)
← →
icWasya © (2013-05-28 16:10) [12]А вот насчёт дополнительного кода для чисел с плавающей запятой...
По стандарту IEEE 754 - не прижилось. Арифметика для целых чисел использует формат записи отрицательных чисел в дополнительном коде, поскольку позволяет упростить вычислитель, например для сложения беззнаковых и знаковых положительных и отрицательных чисел используются одни и те же алгоритмы/микросхемы, в которых не нужно заранее анализировать знаки операндов.
Для чисел с плавающей запятой уже используются более сложные алгоритмы, до собственно, например сложения, нужно привести операнды к одному и тому же порядку, на фоне которого лишняя проверка знакового разряда занимает малую часть вычислителя. А после сложения нужно опять нормализовывать результат, и тут уже представление в дополнительном коде не несёт никакой выгоды.
Поэтому для чисел с плавающей запятой, как правило, используется представление в прямом коде с выделеленным знаковым разрядом.
← →
брат Птибурдукова (2013-05-28 18:03) [13]
> представление в дополнительном коде не несёт никакой выгоды
в дополнительном или обратном коде алгоритм сложения положительного с положительным и положительного с отрицательным — один. При прямом коде придётся отдельно реализовывать сложение и вычитание. Как-то так.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.11.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c