169 похожих чатов

Вообще какая то странная терминология получается, в неупакованом виде классическом

в байт можно 256 значений запихать а в упакованый BCD только 99, странная какая то упаковка, написано было, что это придумали для улучшения быстродействия типа не надо десятичные числа преобразовывать что то типа в двоичные и потом обратно, но что то как то это сомнительно, тут тоже идет преобразование да еще и места надо больше в регистах под этот двоично-десятичный формат? Похоже из за этого так регистры новые чтоли раздули? Чтобы работать с этим BCD?

21 ответов

15 просмотров

ты в в BCD можешь только 100 значений упаковать, так как там 8 сегментов * 2 цифры всего, которые их и показывают

В BCD ты можешь деньги хранить, хоть 100 цифр, если у тебя достаточно денег. Никто не заставляет ограничиваться байтом или полубайтом. Длинные числа выводить сложнее (тебе нужно длинное деление), и вот как раз эту проблему BCD отлично решает. И да, «упакованный» != «сжатый».

Денис Фомин-Fomin Автор вопроса
s54820
В BCD ты можешь деньги хранить, хоть 100 цифр, есл...

Да меня вот это смутило просто, в данном контексте это наверное ближе по смыслу к тому что удобно упаковано и перевязано ленточкой :)

Денис Фомин Fomin
Да меня вот это смутило просто, в данном контексте...

Упаковано — это сложено в одну коробочку. Вот как выше SSE обсуждали, там addps (add packed single-precision floats) работает с четырьмя флоатами, сложенными в один регистр, а ещё выше там addss была (add scalar …), она с «неупакованными» работает.

Денис Фомин-Fomin Автор вопроса
s54820
Упаковано — это сложено в одну коробочку. Вот как ...

Ага, я вот смотрю о чем народ общается и читаю в инете развиваюсь, теперь вот встал вопрос как флоат представляется в двоичной системе :)

для работы с bcd есть отдельные группы команд процессора, это нужно чтоб в эпоху 16 битных процов можно было считать овер большие числа.

Aiwan \ (•◡•) / _bot
для работы с bcd есть отдельные группы команд проц...

Ещё уходят проблемы с точностью из-за перевода из десятичных в двоичные и обратно.

Денис Фомин Fomin
а что там за проблемы?

select 10.0/3.0*3.0 from dual; 9.99999999999999999999999999999999999999

Денис Фомин-Fomin Автор вопроса
Alexander Morozov
select 10.0/3.0*3.0 from dual; 9.99999999999999999...

мы о конвертации говорим или о вычислениях, я просто не понял, как формат данных решит проблему точности вычислений fpu

Денис Фомин Fomin
мы о конвертации говорим или о вычислениях, я прос...

Речь изначально шла о двоично-десятичном формате хранения чисел. Для его поддержки в интеловских процессорах даже предусмотрены специальные команды. Это все не просто так, а для финансовых вычислений без артефактов приведённого выше вида.

Alexander Morozov
Речь изначально шла о двоично-десятичном формате х...

Справедливости ради, финансовые операции в bcd в серьезных местах не делаются

Денис Фомин-Fomin Автор вопроса
Alexander Morozov
Речь изначально шла о двоично-десятичном формате х...

да, я просто не понимаю чего то видимо, не понятно как это помогает

Денис Фомин Fomin
да, я просто не понимаю чего то видимо, не понятно...

Вычисления ведутся по "школьным" формулам, сразу в десятичной системе.

Денис Фомин-Fomin Автор вопроса
Alexander Morozov
Вычисления ведутся по "школьным" формулам, сразу в...

т.е как например у нас есть число 5 - 0101 и число 8 1000 как отнимать от 8-5 скажем? в столбик что ли или что?

Денис Фомин Fomin
т.е как например у нас есть число 5 - 0101 и число...

Именно так. https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE-%D0%B4%D0%B5%D1%81%D1%8F%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4

Alexander Morozov
Речь изначально шла о двоично-десятичном формате х...

емнип, изначально речь была о конвертации строк с десятичными дробями в массив флотов

Sergei Zhmylove
Справедливости ради, финансовые операции в bcd в с...

для финансовых операций, наверняка, целые числа используют

Alexander Morozov
Ещё уходят проблемы с точностью из-за перевода из ...

bcd вроде только с целыми работает. но можно и ивратиться и ставить точку на 2-3 разряда левее.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта