Форум программистов, компьютерный форум CyberForum.ru

Порядок байт. Массив чаров приводится к типу unsigned int. - C++

Восстановить пароль Регистрация
 
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
02.04.2014, 09:23     Порядок байт. Массив чаров приводится к типу unsigned int. #1
Есть массив из 4 char. Массив приводится к типу unsigned int и затем данные извлекаются в переменную типа unsigned int. Нужно, чтобы байты в переменной шли в том же порядке, что и в массиве. Однако, по какой-то причине, байты идут в обратном порядке. Почему так?
Миниатюры
Порядок байт. Массив чаров приводится к типу unsigned int.  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6403 / 4869 / 447
Регистрация: 14.02.2011
Сообщений: 16,160
02.04.2014, 09:29     Порядок байт. Массив чаров приводится к типу unsigned int. #2
Цитата Сообщение от bgm123 Посмотреть сообщение
Однако, по какой-то причине, байты идут в обратном порядке. Почему так?
байты идут в том же порядке
число считывается по другому
прочитай про представления числа big-endian и little-endian
http://ru.wikipedia.org/wiki/Порядок_байтов
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 09:37     Порядок байт. Массив чаров приводится к типу unsigned int. #3
ValeryS, получается в памяти число может лежать так? unsigned int x = 1;
1000 0000 0000 0000 ?(16ая запись)
ValeryS
Модератор
6403 / 4869 / 447
Регистрация: 14.02.2011
Сообщений: 16,160
02.04.2014, 09:45     Порядок байт. Массив чаров приводится к типу unsigned int. #4
Цитата Сообщение от aLarman Посмотреть сообщение
ValeryS, получается в памяти число может лежать так? unsigned int x = 1;
нет в байтах порядок не меняется
вот так
00000001 00000000 00000000 00000000
или
0x01 0х00 0х00 0х00
что несколько не удобно, для человека, но вполне логично для машины

смотри
C
1
2
3
4
5
//адрес значение
//1000     0х01
//1001     0х00
//1002     0х00
//1003     0х00
по более старшему адресу более старший бит

когда выводится дамп памяти на экран то слева младшие адреса
считай что машина, как евреи, пишут справа налево
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 09:49     Порядок байт. Массив чаров приводится к типу unsigned int. #5
ValeryS, а вкурил, но все же - очередной разрыв шаблона
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.04.2014, 11:48     Порядок байт. Массив чаров приводится к типу unsigned int. #6
Цитата Сообщение от aLarman Посмотреть сообщение
очередной разрыв шаблона
Нарушает всю концепцию реальности? То ли ещё будет.
aLarman
02.04.2014, 12:00
  #7

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Нарушает всю концепцию реальности?
не так глобально, просто периодично встречаю какие-то нелогичные(для моего восприятия) вещи

SatanaXIII
02.04.2014, 12:28
  #8

Не по теме:

aLarman, честный депутат, лысый панк, квадратура круга?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 12:30     Порядок байт. Массив чаров приводится к типу unsigned int.
Еще ссылки по теме:

C++ Считать массив байт в переменную типа int в обратном порядке
C++ Создать массив объединений, содержащих поля unsigned int и float
C++ Сложение int и unsigned
Как исправить ошибку невозможно преобразовать аргумент 1 из "unsigned int" в "unsigned int []"? C++
C++ Присваивание типу unsigned значения не из его диапазона

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aLarman
02.04.2014, 12:30     Порядок байт. Массив чаров приводится к типу unsigned int.
  #9

Не по теме:

SatanaXIII, прекратите

Yandex
Объявления
02.04.2014, 12:30     Порядок байт. Массив чаров приводится к типу unsigned int.
Ответ Создать тему
Опции темы

Текущее время: 08:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru