Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190

Простая программа объединения

12.09.2016, 19:33. Показов 742. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер

Появились вопросы, помогите понять программу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;
 
union u_type
{
u_type (short int a) {i=a;};
u_type (char x, char y) {ch[0] = x; ch[1] = y;}
 
        void showchars ()            // что делает данная функиця?
        {
        cout << ch[0]<<" ";     
        cout << ch[1]<<"\n";
        }
 
short int i;
char ch[2];
};
 
int main()
{
u_type u(1000);
u_type u2('X','Y');
 
cout << "u как целое: ";
cout << u.i << "\n";
cout << "u как символы: ";
u.showchars () ;
 
cout << "u2 как целое: ";
cout << u2.i << "\n";
cout << "u2 как символы: ";
u2.showchars () ;
 
return 0;
}

ответ программы u как целое: 1000
u как символы: � 
u2 как целое: 22872
u2 как символы: X Y


откуда берется u2 как целое: 22872? и как он отображает символы , объясните пожалуйста принцип работы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2016, 19:33
Ответы с готовыми решениями:

Программа поиска в массиве структур, содержащих объединения
Доброе время суток. Для начала опишу ситуацию. Есть программа поиска комплексного числа в массиве структур, содержащих объединения. ...

Программа объединения прайс-листов различных форматов
Нужен скрипт или программа которая может из всех прайсов поставщиков соорудить один общий сводный прайс со всеми товарами и ценами, чтобы...

Программа для объединения двух виртуальных дисков
нужно склеить два виртуальных диска какая прога есть кроме акрониса

5
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
12.09.2016, 20:40
union - это объединение. i и ch ссылаются на одну и ту же область памяти, но интерпретируют ее по разному: i - как целочисленный тип, ch - как символьный тип. Каждый символ имеет код по таблице ASCII. Символы Х и Y по этой чудной таблице имеют код в шестнадцатиричной системе счисления 58 и 59 соответственно. В память записываются именно эти значения, а не Х и Y. Но как только ты обращаешься к i, ты получаешь по сути комбинацию из этих двух числе в шестадцатиричной системе: 0х5958, после преобразования которого в десятичную систему, получается 22872
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
что делает данная функиця?
Просто выводит на экран значения в символьном представлении

пс. таблица ascii
http://book.itep.ru/10/ascii.htm
1
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
12.09.2016, 21:51  [ТС]
Selot, спасибо тебе большое, стало намного понятнее , но у меня есть еще один вопрос как переменную 1000 преобразовывает в символы?

cout << "u как символы: ";
u.showchars () ;
0
192 / 128 / 52
Регистрация: 19.01.2010
Сообщений: 518
12.09.2016, 22:14
Аналогично только в обратную сторону. 1000 в десятичной системе = 0х03E8 в шестнадцатиричной. Соответственно первый символ будет иметь код 03, второй - E8. Смотрим в таблицу ASCII и видим какую-то ерунду, эту же самую ерунду и получаем на экране
1
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
12.09.2016, 22:18  [ТС]
Selot, Благодарю)
0
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
01.12.2016, 20:31  [ТС]
Получается информация записывается в ячейки памяти от младшего байта к старшему, а считывается наоборот, от старшего к младшему
Миниатюры
Простая программа объединения  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2016, 20:31
Помогаю со студенческими работами здесь

Программа для объединения песен и плавного перехода
Доброго времени суток! Подскажите пожалуйста програмку которая будет уметь объединять много песен и делать между ними плавный переход?

Программа хранения газетных статей: задача объединения графики с текстом.
Добрый день, уважаемые коллеги. Такой вопрос. Один сотрудник ежедневно просматривает кучу статей в СМИ, выбирает из них интересные,...

Нужна программа для объединения фильмов в один видео файл
Всем привет, я не знаю как это точно называется, но попробую объяснить, скачал гору мультфильмов для матери и хочу сделать так знаете...

Программа для объединения html, css, js, img в один файл?
Доброго времени суток, Задача такая, что есть много маленьких страниц, которые состоят из: html, css, js и картинок. Такие страницы...

Программа для объединения двух упорядоченных линейных массивов в один упорядоченный
Составьте программу с использованием процедуры для решения следующей задачи: Напишите программу с использованием процедуры для...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru