я хочу создать новый тип float размером 128 бит, показатель будет иметь 4 байта (32-разрядный), а у фракции будет 12-байтовый (96-разрядный), как я могу сделать этот тип в [ CN10], где я смогу выполнять ввод, вывод, +, -, *,/операций.
[Я думаю о классе c++, но я не могу понять, как я буду бороться между экспонентой и фракцией с указанной длиной]
Я пробовал "bitet" std class, но он имеет огромный размер по сравнению с тем, что мне нужно, например, "std :: bitset <16> foo;" укажите размер 8 байтов.
Какие-либо предложения !
Вы должны создать свой собственный тип данных и реализовать все операции, которые вы хотите сделать с ним. Именно так компилятор эмулирует 64-битный набор данных, когда архитектура поддерживает только 32-разрядные данные.
Таким образом, класс/структура с двумя членами является правильной отправной точкой. Теперь вы должны выполнить основные операции: +, -, *,/. Добавление и подпрос легко, вам нужно уделять больше внимания * и /. То, что я могу вам сказать, заключается в том, что обычно компиляция реализует их с использованием повторных операций добавления и подпрограммы.