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

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

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

21 ответов

5 просмотров

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

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

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

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

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

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

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

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

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

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

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

Den Fomin
а что там за проблемы?

select 10.0/3.0*3.0 from dual; 9.99999999999999999999999999999999999999

Den-Fomin Автор вопроса
Alexander Morozov
select 10.0/3.0*3.0 from dual; 9.99999999999999999...

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

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

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

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

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

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

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

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

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

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

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

Den 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 разряда левее.

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
50
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
8
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
10
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
10
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Hello, I need a hand, this is my code: body: ExtendedImageGesturePageView.builder( scrollDirection: Axis.vertical, controller: _pageController, itemCou...
𝘞𝘦𝘢𝘳𝘪𝘯𝘨𝘔𝘦𝘥𝘢𝘭 🦋
2
Карта сайта