Comments 10
Разве DCXI это 609? По идее это 611, а 609 римскими цифрами записывается как DCIX.
Небось и остальными числами обман :)
Небось и остальными числами обман :)
DEC64 может точно представлять десятичные дроби, содержащие до 16 цифр
Это как такая магия возможна?
Крокфорд написал в статье кучу мусора не относящуюся к DEC64.
Если вкратце, DEC64 особо не отличается от float64, кроме как в float64 база степени 2, а в DEC64 база степени 10.
Но если мантисса не в BCD разве по прежнему не будет «странных» округлений относительно десятичной системы?
Я в статье не увидел что в DEC64 мантисса в BCD.
Крокфорд напихал в доклад всякой не относящейся к делу ерунды, чтобы произвести впечатление, так как ничего другого видимо произвести не может.
Если вкратце, DEC64 особо не отличается от float64, кроме как в float64 база степени 2, а в DEC64 база степени 10.
Но если мантисса не в BCD разве по прежнему не будет «странных» округлений относительно десятичной системы?
Я в статье не увидел что в DEC64 мантисса в BCD.
Крокфорд напихал в доклад всякой не относящейся к делу ерунды, чтобы произвести впечатление, так как ничего другого видимо произвести не может.
Мантиссе и не нужно быть BCD. Мантисса — целое число которые может быть точно представлено в виде двоичного целого числа. Далеее вступает в дело формула value = coefficient * 10^exponent — и мы тут опять не теряем соответствия десятичной дроби. Теряем только в скорости умножениях и делениях на степени 10 при выравнивании по экспоненте — да, это будет гораздо медленнее на двоичных машинах чем сдвиги влево вправо. Т.е. в любых действиях над числом добавится одно умножение или деление на степень 10. Но это гораздо лучше чем BCD, так как в BCD умножение/деление на 10 необходимо выполнять для каждого разряда.
Аппаратная реализация DEC64 позволяет складывать числа за один циклА сколько тактов в цикле?
Редкий случай, когда картинки статьи лишь вызывают вопросы, усложняют.
притянуто, и сжато
Доклад Дугласа Крокфорда (Douglas Crockford) оставляет «двойное ощущение»:
исторический экскурс читается «на отлично», но практическая часть...
про BCD — есть же многообещающий стандарт:
IEEE 754-2008 упоминался здесь, на Хабре, в статье «Что нужно знать про арифметику с плавающей запятой»
«экспонент» размещают «в начале» для «улучшения» сравнения чисел и сортировки
И это правильно, как раз, из практических соображений
P.S.
А вот это весьма интересно: действительно, шаг вперёд по сравнению с египетской системой и красивая идея
исторический экскурс читается «на отлично», но практическая часть...
нам нужны десятичные числа с плавающей точкой, т.к. иногда мы складываем деньги и хотим, чтобы результат имел смысл.
про BCD — есть же многообещающий стандарт:
Уплотнённые десятичные числа позволяют разместить 3 десятичные цифры в 10 битах (2^10=1024 комбинации, что достаточно для 3 десятичных цифр), причём кодирование устроено так, что преобразование между 10-битным кодом и тремя отдельными десятичными цифрами можно осуществить с помощью простой и быстрой логической схемы. Такое кодирование используется в десятичных числах с плавающей запятой, описанных в стандарте IEEE 754-2008.
IEEE 754-2008 упоминался здесь, на Хабре, в статье «Что нужно знать про арифметику с плавающей запятой»
Причина, по которой экспонент находится в конце, заключается в том, что в архитектуре Intel мы можем распаковать такое число практически бесплатно.
«экспонент» размещают «в начале» для «улучшения» сравнения чисел и сортировки
результат 0 x NaN не равен нулю
И это правильно, как раз, из практических соображений
P.S.
Римляне хотели сократить запись. Для этого они придумали символы,
представляющие половину десяти или половину сотни (тысячи).
Один у них был представлен символом I (или палкой),
10 — X (пучок палок, соединенных вместе), а 5 — V, что есть всего лишь X пополам.
А вот это весьма интересно: действительно, шаг вперёд по сравнению с египетской системой и красивая идея
Sign up to leave a comment.
Числа — доклад Дугласа Крокфорда о системах счисления в жизни и в программировании