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

Как лучше обрашаться к байтам int ?

08.12.2012, 15:57. Показов 904. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
надо реализовать aes, что уже было сделано но встал вопрос: при операциях над словами - умножение, таблица подстоновки, сдвиг как лучше обращаться к байтам, что привело к следующим вопорсам...

те слово 32 бита используем int (или для эстетики unsigned int - ui далее, а unsigned char - uc), и так вопрос как обращаться к байтам слова? есть варианты:

C++
1
2
3
4
5
6
7
8
ui q = 0x00112233;
//первый
uc str[4];
memcpy(str, q, 4);
//второй
uc *str = ((char *) &)q; 
//и здесь лучше обращаться как к элементам масива или через указатели:
str[0] /* или */ (*str) //?
Прошу ответить что лучше и почему, меня интересует тот вариант который быстрее.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2012, 15:57
Ответы с готовыми решениями:

Ввод int в консоли. Как лучше?
Вот никак не могу понять, как сделать простой ввод целых чисел в таком цикле: public class ScanInteger { public static void...

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int Funkz(int a) int Funkz(int a, int b, int...

как читать по байтам
как читать любою файлу по байтам и записать на другую файла

2
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
08.12.2012, 16:06
C++
1
2
3
4
5
6
7
union {
    unsigned int dword;
    unsigned char byte[4];
} q;
 
q.dword = 0x00112233;
q.byte[0] // ==> 0x33
И за порядком байт в слове следите.
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
08.12.2012, 16:08
Цитата Сообщение от last nope Посмотреть сообщение
ui q = 0x00112233;
мдя Эстетика
C++
1
2
3
4
5
6
unsigned int i=0x12345678;
unsigned char *c=(unsigned char *)&i;
char aa=c[0];
char ab=c[1];
char ac= c[2];
char ad=c[3];
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2012, 16:08
Помогаю со студенческими работами здесь

Размерность int или как из signed int сделать unsigned int?
Добрый день. Есть старая база уже с некоторыми данными. При развёртывании её на одном из тестовых серверов столкнулся с неожиданной...

Ошибка: cannot convert 'int (*)[50]' to 'int*' for argument '1' to 'void vvod2m(int*, int*, int*, char)'Х2
Матрицы An1*m1 и Bn2*m2 вводить с клавиатуры (размерности >3, m1=n2). Выполнять через подпрограммы. выводит следующие ошибки: 1) cannot...

Как считывать информация с файла по байтам
У меня есть файл, выглядит как график, hex-вид : 00000001: 80 01 00 02 00 05 00 02 00 56 80 02 00 03 00 55 00000002: 56 00 00 04 22 00...

Как сравнить два массива по первым четырём байтам?
Всем здравствуйте. Есть два байтовых массива Dim a As Byte() = {11, 12, 5, 6, 34, 22, 77, 90, 2, 12} Dim b As Byte() = {11, 12, 5,...

Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int]
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<ctime> #include<conio.h> #include<windows.h> ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru