Я пытался написать 128-битный целочисленный класс на C ++ с числом, хранящимся в двоичном формате через два int64_t
. Когда я пытался написать функцию, которая преобразует мой номер в std::string
(чтобы я мог показать его где-нибудь, например, в cout
), я застрял, и это подняло более широкий вопрос, на который я не мог найти ответа.
Рассмотрим число 16
, в памяти это число заложено следующим образом: 00010000
, если я не ошибаюсь, любое вхождение 16
в десятичной форме (в коде, как выходные значения, значения отладчика, et c.) на самом деле является строкой, содержащей два символа значений 49 (ASCII code for '1') and 54 (ASCII code for '6')
Так как же происходит преобразование из 00010000 (value in memory)
в "16" (string)
?
Я понимаю, что этот вопрос звучит немного тривиально, но в моем случае я не могу разместить нужные числа в любом существующем контейнере, это было бы немного похоже на 32-битное целое число в двоичном формате, но без типа int
, как вы бы напечатали внутри него число?