Плавающе-точечное
Mar. 19th, 2014 07:47 pmЕсли нельзя точно представлять десятичные дроби в виде числа с плавающей точкой, но очень хочется, то можно.
Всей библиотеки - два килобайта, а верблюды, созданные комитетом, идут лесом.
Всей библиотеки - два килобайта, а верблюды, созданные комитетом, идут лесом.
no subject
Date: 2014-03-20 03:20 am (UTC)no subject
Date: 2014-03-20 03:25 am (UTC)(Около 1400 LUTs и около 10 уровней получается).
no subject
Date: 2014-03-20 08:16 am (UTC)no subject
Date: 2014-03-20 07:24 pm (UTC)no subject
Date: 2014-03-20 08:30 pm (UTC)no subject
Date: 2014-03-20 08:34 pm (UTC)Ну и чтобы два раза не вставать: остаток от деления на любую константу - в хардвере тоже весьма дешевая операция.
no subject
Date: 2014-03-20 09:09 pm (UTC)Сейчас начал было изобретать, как правильно делить на константу. Получается так: множитель 1/5 = 0.(0011); надо взять исходное число и складывать его само с собой, сдвинутым на соответствующее количество разрядов. Причем количество нетривиальных слагаемых в данном случае равно половине разрядности числа (период 4, в нем две единицы). То есть выходит 32 64-битных слагаемых. Если с глубоким конвейером делать, то железа нужно совсем мало — около сотни вентилей, а если чисто комбинаторно, то может не взлететь: пять сложений в глубину за такт — многовато.
no subject
Date: 2014-03-20 03:36 am (UTC)no subject
Date: 2014-03-20 03:50 am (UTC)no subject
Date: 2014-03-20 03:36 am (UTC)no subject
Date: 2014-03-20 03:37 am (UTC)no subject
Date: 2014-03-20 03:54 am (UTC)Ну да, им достаточно фиксированной запятой и достаточного количества цифр после нее. Они бы с радостью пользовались для этого floating point numbers, если бы у них основание было 10.
no subject
Date: 2014-03-20 05:54 am (UTC)Думаю, что у них просто старые привычки из КОБОЛа. А у новых экономистов — цельносоздранный по хорошей традиции софт. А главное, что при фиксированной запятой основание системы счисления вообще не играет роли — целое оно и есть целое, пусть там 100 или 10000 будет в знаменателе.
no subject
Date: 2014-03-20 06:06 am (UTC)В принципе, 64-битного целого с фиксированной десятичной запятой после 10 правых разрядов для всего, кроме бюджетов стран и владений мультимиллиардеров должно хватать, это правда.
Но то, что для любого DEС64 числа есть взаимно-однозначное текстовое представление, удобное для человека (в отличие от 16-ричного вида, не так давно добавленного в printf), делает этот формат полезным для работы с текстовой информацией.
no subject
Date: 2014-03-20 06:10 am (UTC)Я не спорю с тем, что DEC64 оптимальнее чем реализации (наверное любые) стандарта. Более того, если бы я делал, я бы наверное делал так же.
no subject
Date: 2014-03-20 05:43 am (UTC)no subject
Date: 2014-03-20 05:53 am (UTC)no subject
Date: 2014-03-20 05:56 am (UTC)no subject
Date: 2014-03-20 06:10 am (UTC)no subject
Date: 2016-06-03 09:56 pm (UTC)Must ACK!
Date: 2016-06-04 10:43 am (UTC)no subject
Date: 2014-03-20 06:26 am (UTC)no subject
Date: 2014-03-20 06:40 am (UTC)Lisa: I'd like 25 copies on Goldenrod.
Clerk: Right.
Lisa: 25 on Canary.
Clerk: Mmhmm.
Lisa: 25 on Saffron.
Clerk: All right.
Lisa: And 25 on Paella.
Clerk: Ok, 100 yellow.
no subject
Date: 2014-03-20 08:13 am (UTC)no subject
Date: 2014-03-20 07:26 pm (UTC)no subject
Date: 2014-03-20 08:25 pm (UTC)no subject
Date: 2014-03-20 08:30 pm (UTC)no subject
Date: 2014-03-20 08:29 am (UTC)no subject
Date: 2014-03-20 08:29 pm (UTC)no subject
Date: 2014-03-20 10:35 pm (UTC)