Имя: Пароль:
1C
 
BCD формат числа
0 OneMan1
 
15.08.25
10:37
Добрый день. Помогите справиться с получением числа из BCD формата.
Получаю данные вида: 05 00 00, и флаг расположения запятой, один знак после запятой.
должно получиться число "0,5".
Еще один пример: 15 11 00 (один знак после запятой) - ответ "111,5"
1 Волшебник
 
15.08.25
10:46
А это точно BCD? в настоящем BCD есть только 0 и 1, а у Вас "5" на входе
2 PLUT
 
гуру
15.08.25
10:50
(1) Binary Coded Decimal (BCD), или двоично-десятичный код, — это способ представления десятичных чисел в двоичной системе счисления. Каждая десятичная цифра (от 0 до 9) кодируется четырёхбитным двоичным числом.
Подробнее:
В BCD каждая десятичная цифра представляется своей двоичной эквивалентной, что делает его удобным для отображения чисел на цифровых устройствах, таких как калькуляторы и часы. Вместо того, чтобы использовать 1010 (десять) для представления десятичного числа 10, BCD использует 0001 0000, где 0001 - это 1, а 0000 - это 0.

у ТС в (0) по видимому порядок следования "получаю данные вида" нужно как у арабов (справа налево) и внутре групп тоже справа налево?

с разрядностью (запятыми) пусть сам додумывает
3 Волшебник
 
15.08.25
10:53
число 111,5 в BCD представляется как 0001 0001 0001,0101
Это не совпадает с авторским примером: 15 11 00
4 PLUT
 
гуру
15.08.25
10:54
(3) ну он так данные получает, поэтому возможно всё

а если наеборот и внутри групп справа налево - тады норм

а вообще сегодня жы 15 августа

https://rutube.ru/video/3c18bf9b63dc5c517f980e06c6529237/
5 Волшебник
 
15.08.25
10:54
А вот, Qwen разобрался. Это BCD (Binary-Coded Decimal) в little-endian порядке
https://chat.qwen.ai/s/c2d2f8de-f682-4c3a-b2d7-b71bc78a4021?fev=0.0.182
6 OneMan1
 
15.08.25
11:44
(5) точняк! забыл что можно юзать ИИ ) спасибо.