![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
18192123 |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Скажите пожалуйста, как выделить последний байт (старший, левый) из числа типа int в переменную типа char?
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
char myCh = (((unsigned int)temp) >> 24) & 0xFF;(в принципе, можно было бы и не приводить к unsigned int, но я всегда привожу к беззнаковому типу, во избежание проблем при сдвигах). Еще лучше - не привязываться к 24, а сделать (sizeof(unsigned int) - 1) * 8 вместо этого. |
Archon |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
А можно ввести union:
union Int2BytesТогда можно сделать так: Int2Bytes b;и обращаться к байтам как к b.Bytes[0] (младший), b.Bytes[1] (второй) и так далее. Сообщение отредактировано: Archon - 22.03.2009 13:46 -------------------- Close the World...txeN eht nepO
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Не плоди лишние сущности. Зачем тебе именованный union, если можно сделать анонимный (хотя я бы с union-ами вообще не стал заморачиваться. Конструктор/Деструктор и все сопутствующие этому издержки), и избавиться от "b."?
|
Archon |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
А можно поподробнее? Я думал, у union нет конструктора.
Добавлено через 7 мин. PS Анонимные объединения, имхо, путаницу вызывают, хотя, кому как нравится. -------------------- Close the World...txeN eht nepO
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Я думал, у union нет конструктора. Что значит "нет"? Union - это полноправный class:Цитата(С++ Standard) 9. Classes +... 4. ... A union is a class defined with the class-key union; Цитата(C++ Standard) 12.1 Constructors ... 5. A default constructor for a class X is a constructor of class X that can be called without an argument. If there is no user-declared constructor for class X, a default constructor is implicitly declared. |
Archon |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
И правда. Спасибо, volvo.
-------------------- Close the World...txeN eht nepO
|
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 4:38 |