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

Порядок байт в big-endian и little-endian - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения http://www.cyberforum.ru/cpp-beginners/thread900395.html
Дан массив С, состоящий из N элементов (N <10). Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения. Вывести на печать заданий и...
C++ И снова шифровка/расшифровка Тема курсового проекта - шифрование/расшифрование текстовых файлов. Проблема - не распознает русский алфавит, и не расшифровывает шифр, который образуется при шифровки чисел. #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread900387.html
C++ Открытие файлов C++
Необходимо открывать файл из программы, но имя у него может отличаться от, например, input.txt. Поэтому я хотел бы сделать так, чтобы можно было считать имя файла, а потом открыть его. Сейчас код...
Массив данных: вычислить произвидение максимального и минимального элемента C++
Для чисел Х (0.01; -27.3; 0; 125.27; -371.45; 0; 12; -5; -172.3; 0.05; - 17.1; 49.5; -0.01) необходимо обчислить произвидение максимального и минимального элемента.
C++ Помощь с решением некоторых задач http://www.cyberforum.ru/cpp-beginners/thread900337.html
del, разобрался, удалите
C++ Как через базовый класс вызывать виртуальную функцию во всех потомках? Ну например, есть класс: class BATYANA { BATYANA(); virtual ~BATYANA(); virtual int Test(); } подробнее

Показать сообщение отдельно
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
14.06.2013, 22:00  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Компилятор может расположить их в памяти так,
как ему вздумается, для контроля над этим нужно вставлять барьер компилятора
Про какой барьер компилятора вы говорите? И как его применять?

Добавлено через 11 минут
Цитата Сообщение от Убежденный Посмотреть сообщение
#include <iostream>
int main()
{
* * int const Value = 0x1234abcd;
* * unsigned char const *pByte = (unsigned char const *)&Value;
for (size_t i = 0; i < sizeof (Value); ++i)
* * {
* * * * std::cout << std::hex << static_cast<int>(pByte[i]);
* * }
std::cout << std::endl;
return 0;
}
То что вы написали это шестнадцатиричный вид значений каждого байта. Да не спорю по результату видно что байты перевернуты. Но я в примерах смотрю на числа через битовую маску, тем самым могу увидеть бинарное представление числа.
В первом случае в функции trigerbyte я не преобразую переменную (которую нужно посмотреть в бинарном виде) к указателю на тип и получаю в результате вид числа (например) 5 таким 0000 0000 0000 0101(значение в short)
вместо 0000 0101 0000 0000. Почему так происходит?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru