![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.05.2011
Сообщений: 12
|
![]()
#include<iostream>
#include<cstring> using namespace std; union Death { unsigned long A; char a[4]; }; int main (void) { Death Mega; short i; char t = 0; cout << "enter number" << endl; cin >> Mega.A; cout << Mega.A << endl << hex << Mega.A << endl; for(i=31;i>=0;i--) cout<<(Mega.A>>i&1); cout<<endl; t=Mega.a[0]; Mega.a[0] = Mega.a[1]; Mega.a[1] = t; t=Mega.a[2]; Mega.a[2] = Mega.a[3]; Mega.a[3] = t; cout << Mega.A << endl << dec << Mega.A << endl; for(i=31; i>=0; i--) cout << (Mega.A>>i&1); } |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.01.2011
Сообщений: 226
|
![]()
выводит значение Mega.A в двоичном виде на экран
|
![]() |
![]() |
![]() |
#3 | |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]() Цитата:
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
|
![]() |
![]() |
![]() |
#4 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
![]()
32 раза выполнятся цикл. Побитовый сдвиг вправо Mega.A на i бит. Потом побитовая конъюнкция с единицей. И вывод этого на экран.
И перевод строки 1 раз. Последний раз редактировалось An1ka; 23.06.2011 в 19:29. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.05.2011
Сообщений: 12
|
![]()
t=Mega.a[0];
Mega.a[0] = Mega.a[1]; Mega.a[1] = t; t=Mega.a[2]; Mega.a[2] = Mega.a[3]; Mega.a[3] = t; а это что делает? |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 10.05.2011
Сообщений: 12
|
![]() |
![]() |
![]() |
![]() |
#7 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
![]()
меняет значения в строке а!
первый символ со вторым! А третий с четвёртым! Вот! Но это не главное! Суть в том, что когда мы меняем значения unsigned long A; У нас автоматически(повторяю автоматически) меняется содержание char a[4]; И наоборот! Так как они оба лежат в union Death! А всех значений, которые которые распологаются в юнионе, адрес начала их расположения в оперативке совпадает! То есть они накладываются друг на друга! Отсюда такая вещь - меняешь одно поле меняются остальные!
Mess with the best, die like the rest.
![]() Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
блок схема к этой программе | emin313gs | Помощь студентам | 1 | 10.10.2010 17:35 |
Где в этой программе ошибка: | Оля_1991 | Помощь студентам | 4 | 04.10.2010 12:20 |
Печать. Что делает MS и не делает Delphi | Влад12 | Общие вопросы Delphi | 8 | 05.05.2010 20:04 |
Помогите нарисовать блок-схему к этой программе | C-Jay | Общие вопросы C/C++ | 3 | 30.12.2009 16:21 |
подскажите, что в этой программе не так?? | мария2507 | Microsoft Office Excel | 3 | 22.12.2009 16:30 |