Можно ли представить 64-битное число в виде строки, если аппаратное обеспечение не поддерживает 64-битное число? - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу показать 64-битное число в виде строки.Проблема в том, что мое оборудование не поддерживает 64-разрядное число, только 32-разрядное.

Итак, 64-разрядное число разделено на два 32-разрядных числа (верхняя и нижняя части).

Example: 64-bit number  :  12345678987654321 (002B DC54 6291 F4B1h)
         32-bit low part:  1653732529                  (6291 F4B1h)
         32-bit high part: 2874452                     (002B DC54h)

Я думаю, что решением моей проблемы было бы показать это число в виде строки.Это возможно?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

В зависимости от того, какой язык вы выберете, язык может позволить вам использовать более 32-битные целые числа, даже на 32-битных архитектурах (например, Python).Если это так, проблема становится тривиальной: вычислите значение, а затем вычислите соответствующую шестнадцатеричную строку.

0 голосов
/ 11 декабря 2018

да, вы можете использовать массив из 32 бит uint с или даже меньшую битовую ширину ...

для печати вы можете использовать это:

, поэтому сначала выведите шестнадцатеричную строку, которая проста на любой битовой ширине (так как вы просто складываете меньшие битные отпечатки вместе из MSW в LSW), а затем конвертируетешестнадцатеричный текст в десятичный текст ...

С помощью этого связанного массива единиц вы можете выполнять математические операции следующим образом:

Выполнение операции с массивом uint s намного быстрее, чем со строками ...

, но если вы настаиваете да, вы также можете использовать строковое представление ...

Существуют также гибридные представления, такие как BCD, которые подходят для этого, но ваш MCU должен иметь поддержку для этого ...

...