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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения http://www.cyberforum.ru/cpp-beginners/thread900395.html
Дан массив С, состоящий из N элементов (N <10). Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения. Вывести на печать заданий и новообразованный массивы.
C++ И снова шифровка/расшифровка Тема курсового проекта - шифрование/расшифрование текстовых файлов. Проблема - не распознает русский алфавит, и не расшифровывает шифр, который образуется при шифровки чисел. #include "stdafx.h" #include <iostream> using namespace std; const int n = 256; //Конвертация символа в число int getIndexChar(char ); //Конвертация числа в симовл http://www.cyberforum.ru/cpp-beginners/thread900387.html
C++ Открытие файлов C++
Необходимо открывать файл из программы, но имя у него может отличаться от, например, input.txt. Поэтому я хотел бы сделать так, чтобы можно было считать имя файла, а потом открыть его. Сейчас код выглядит примерно так: #include <iostream> #include <fstream> using namespace std; int main() { string fileName;
Массив данных: вычислить произвидение максимального и минимального элемента 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(); } подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14175 / 6190 / 982
Регистрация: 02.05.2013
Сообщений: 10,298
Завершенные тесты: 1
14.06.2013, 22:41     Порядок байт в big-endian и little-endian
Цитата Сообщение от stawerfar Посмотреть сообщение
Про какой барьер компилятора вы говорите? И как его применять?
Компилятор может в процессе оптимизации сгенерировать такой машинный код, что
он будет лишь очень отдаленно напоминать оригинал: переменные могут быть перемешаны,
помещены в регистры, и т.д. Кое-что вообще будет выкинуто за борт.
В данном примере
Цитата Сообщение от stawerfar Посмотреть сообщение
C++
1
2
int sizebyte = sizeof(val);
int sizebit = sizebyte * 8;
вы не можете быть наверняка уверенным, что переменная sizebyte располагается в
памяти до sizebit, ровно как и наоборот. Точно также нельзя быть уверенным в том,
что присваивание sizebyte выполняется до присваивания sizebit. Например, попробуйте
сделать sizebyte и sizebit глобальными - вполне возможно, что вывод программы будет
другим. Так что этот код некорректен. Для контроля над подобными вещами существуют
барьеры компилятора, в Visual C++, например, это _ReadWriteBarrier и volatile.
Хотя они предназначены в основном для многопоточного кода, а не для таких примеров.
 
Текущее время: 03:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru