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

32х битная чексумма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование http://www.cyberforum.ru/cpp-beginners/thread688507.html
Объясните пожалуйста на примерах и на "русском" языке что такое производный класс и наследование. Не могу понять, должны ли копироваться в производный класс функции члены от родителя, т.е. например в одном классе есть две функции члены, делаю новый производный от этого класс, почему в производном классе нет своих копий этих двух функций членов, а имеется отсылка к классу родителю? Как же тогда...
C++ чаровские строки Строка состоит из слов, разделенных ровно одним пробелом, пробелов перед первым и после последнего слова нет. Получить новую строку, в начале которой на нечетном месте должно стоять слово только из цифр, а на четном – другое слово. В конце новой строки поместить те слова, которые не могут быть записаны согласно приведенному правилу. Дополнительно можно использовать не более одной... http://www.cyberforum.ru/cpp-beginners/thread688485.html
Ввести фамилию, имя и отчество как одно данное типа строка. Заменить на инициалы C++
Ввести фамилию, имя и отчество как одно данное типа строка. Определить длину строки и количество букв «а» в нем. Выполнить задачи своего двумя способами: - Рассматривая строку как массив символов. - Применяя к строке функции и процедуры.
Калькулятор C++
Как создать калькулятор? Самый обычный, какой есть в стандартных программах, не инженерный. С дизайном разобралась, а с кодом вообще не знаю, что делать(
C++ Написание структуры http://www.cyberforum.ru/cpp-beginners/thread688454.html
struct tochka { double x; double y; tochka() { x=0; y=0; } };
C++ Матрица и два массива Дана матрица размером 5 на 6 и два одномерных массива длинной в 6 символов, Задание вставить одномерные массивы в соответствующие строчки и столбцы матрицы (номера строки и столбца вводятся с клавиатуры) Вот что у меня вышло, помогите найти ошибку #include "stdafx.h" #include "iostream" #include "conio.h" #include <time.h> using namespace std; int main(array<System::String ^> ^args) { подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
04.11.2012, 21:27     32х битная чексумма
Потому что таков интеловский порядок байтов. На самом деле все логично - по младшему адресу лежит младший байт, по старшему старший.
C++
1
2
3
unsigned int n; //допустим unsigned int имеет размер 4 байта. 
unsigned char arr[4] = {0x1, 0x2, 0x3, 0x4};
n = *(reinterpret_cast<int*>(arr));
непосвященный человек может предположить, что n будет равно 0x1234, но это не так. n будет равно 0x4321, т.к. младший байт n считается с младшего адреса и т.д.

Поэтому и нужно перевернуть перед преведением.

Добавлено через 1 минуту
советую ознакомиться

Добавлено через 3 минуты
хотя перед разворотом массива советую все же проверить какой порядок байтов используется в машине. 100% это будет little-endian, но просто тем самым ты покажешь "свой" уровень профессионализма

Добавлено через 4 минуты
всего этого геммороя можно было бы избежать, если использовать С++11, там есть тип std::uint32_t, размер которого гарантировано равен 32 бита, но думаю это не то, что они хотели бы увидеть
 
Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru