![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.02.2011
Сообщений: 24
|
![]()
Добрый день!
У меня есть число unsigned long a=3322114455; Я его записываю fputc((int)*((char *)(&a)+0),fi); fputc((int)*((char *)(&a)+1),fi); fputc((int)*((char *)(&a)+2),fi); fputc((int)*((char *)(&a)+3),fi); В результате получается 97 71 03 С9. Вопрос, почему так получается и как мне прочесть данную запись и получить прежние число... |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Не C9, а C6.
С6037197(HEX) = 3322114455(DEC) Число прочитано Вами задом наперёд. Это шестнадцатиричное представление десятичного числа. Для правильного представления надо писать так: fputc((int)*((char *)(&a)+3),fi); fputc((int)*((char *)(&a)+2),fi); fputc((int)*((char *)(&a)+1),fi); fputc((int)*((char *)(&a)+0),fi); Тогда первым будет выведен старший разряд.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 27.09.2011 в 06:17. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.10.2009
Сообщений: 114
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вещественное 10-байтовое в Си | Stilet | Общие вопросы C/C++ | 24 | 14.06.2011 22:49 |
Написать программу, которая за меньшее число ходов отгадывает загаданное число | gomz007 | Помощь студентам | 16 | 08.11.2009 12:57 |
Знаковое байтовое число | Rekky | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 18.05.2009 09:40 |
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным | Rid | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 22.12.2008 16:50 |
4х байтовое число | bvana | Общие вопросы C/C++ | 7 | 05.12.2008 00:08 |