Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2011, 16:28   #1
Mrbober
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 24
Смущение 4 байтовое число

Добрый день!
У меня есть число 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.
Вопрос, почему так получается и как мне прочесть данную запись и получить прежние число...
Mrbober вне форума Ответить с цитированием
Старый 26.09.2011, 16:59   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 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.
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.09.2011, 20:41   #3
SnX
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 114
По умолчанию

http://en.wikipedia.org/wiki/Endianness
SnX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вещественное 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