#c #endianness
#c #порядковый номер
Вопрос:
Я ищу утилиту, которая будет отображать, как различные типы чисел хранятся в ОЗУ. Это легко написать, но если есть готовый инструмент для достижения этой цели, это будет здорово.
Надеюсь, это также повлияет на конечность.
Синтаксис может быть примерно таким:
hex uint32 big
Например.
hex float big 0.012
покажет
0xa6 0x9b 0x44 0x3c
или в полностью обратном порядке 🙂
РЕДАКТИРОВАТЬ: я ищу универсальный инструмент и, надеюсь, основанный на CLI. отладчик не обрабатывает конечность.
Спасибо,
Комментарии:
1. На ум приходит отладчик. Или спецификация IEEE-754. Или простое приведение: dumpBytes((unsigned char *)amp;floatValue, sizeof(floatValue));
2. Вы можете использовать спецификатор
"%a"
преобразования or"%A"
printf дляdouble
s3. Как вы ожидаете «дамп, как хранятся типы «? Это то, что принимает документ со спецификацией (и не маленький в общем случае). Можно легко сбросить, как хранится конкретное значение определенного типа, но приведенный вами пример, похоже, не поддерживает это. Итак, еще раз, что подразумевается под «сбросом того, как хранятся типы «??? Справочная страница? Или шестнадцатеричный дамп? Если последнее, то где конкретное значение, которое вы хотите сбросить? (И что
big
? Порядковый номер?)4. Я думаю, вы неправильно поняли мой вопрос. В
uint32
стандарте C. нет типа.5. @pmg:
%a
просто выводит представление двойного значения .
Ответ №1:
Visual Studio имеет возможность просматривать непосредственно в памяти. Во время отладки перейдите в раздел Debug -> Windows -> Memory. Затем вы можете вставить адрес переменных, которые хотите проверить, и просмотреть биты.