С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237

Как char[] перевести в битовую маску long long(64 бита) и наоборот?

16.07.2017, 00:26. Показов 2950. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как char[8] перевести в битовую маску long long(64 бита) и наоборот?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2017, 00:26
Ответы с готовыми решениями:

Перевести long long unsigned int в массив char
Подскажите, пожалуйста, как превратить число типа long long unsigned int в массив символов? Каждый символ - цифра числа в 16-значной...

Перевести большой массив char в long long
Здравствуйте. Есть массив char c 3145360828. Надо его в int перевести. Пробовал с atoi, вместо int делал long long, не получалось,...

Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p
Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p и возвращает ap. Помогите...

9
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
16.07.2017, 01:34
Цитата Сообщение от Encephalopathy Посмотреть сообщение
Как char[8] перевести в битовую маску long long(64 бита) и наоборот?
Никак.

Во-первых, битовые маски принято хранить в беззнаковых типах. Во-вторых, какой вам нужен порядок байтов в маске вы не удосужились сообщить. Без этого вопрос бессмыслен.

C++
1
2
3
4
5
6
unsigned char c8[8];
unsigned long long ull;
...
static_assert(sizeof c8 == sizeof ull);
memcpy(&ull, c8, sizeof c8); // туда 
memcpy(c8, &ull, sizeof c8); // обратно
1
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
16.07.2017, 01:41  [ТС]
TheCalligrapher, Порядок?Не знаю.Цель - перевести строку в битовую маску обработать её алгоритмом шифрования и перевести обратно в строку.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
16.07.2017, 03:39
Странным вопросам - странные решения!
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
 
int main() {
    char str[] = "12345678";
    
    std::cout << str << " <-> " << std::hex << *(long long int*)str << std::endl;
    
    return 0;
}
Code
1
2
$ ./a.out 
12345678 <-> 3837363534333231
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
16.07.2017, 05:08
Цитата Сообщение от Encephalopathy Посмотреть сообщение
перевести строку в битовую маску
"Строку"???! Откуда вдруг взялась строка и почему в исходном вопросе о строке нет ни слова?
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
16.07.2017, 12:35  [ТС]
TheCalligrapher, Ну массив чар в каком то смысле строка,нет?

Добавлено через 4 минуты
TheCalligrapher, Строку планирую разбить на блоки по 8 char и каждый обрабатывать.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
16.07.2017, 13:04
Цитата Сообщение от Encephalopathy Посмотреть сообщение
Ну массив чар в каком то смысле строка,нет?
Да нет, совсем не обязательно. Массив char это просто массив маленьких целых, массив байтов. Будет ли это строкой или нет - зависит только от вас.

А тот факт, что размер массива у вас совпадает с "типичным" размером long long - 8 байтов - уж совсем сбивает с толку - мыслей о строке не возникает вообще.

Цитата Сообщение от Encephalopathy Посмотреть сообщение
Строку планирую разбить на блоки по 8 char и каждый обрабатывать.
Строка в массиве char[8] будет иметь максимальную длину 7. Откуда взялся такой странный размер блока для разбиения?
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
16.07.2017, 13:11  [ТС]
TheCalligrapher, строка будет произвольной длины,я её разобью на блоки по 64 бита,обработаю их,сложу и добавлю нуль-терминатор в конце(он не будет участвовать в обработке).
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,205
16.07.2017, 13:19
Цитата Сообщение от Encephalopathy Посмотреть сообщение
TheCalligrapher, строка будет произвольной длины,я её разобью на блоки по 64 бита,обработаю их,сложу и добавлю нуль-терминатор в конце(он не будет участвовать в обработке).
Ну тогда снова возникает вопрос, что именно вы имели в виду под переводом char[8] в long long. Похоже, что то, что я написал в моем превом ответе - это и есть то, что нужно.
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
16.07.2017, 13:29  [ТС]
TheCalligrapher, Да это то что нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2017, 13:29
Помогаю со студенческими работами здесь

Как преобразовать const char * в long в С++, 0xE0E040BF в long
Помогите пожалуйста преобразовать текст в число на C++ const char * value=cmd; long ircode = atol(value); ...

Как преобразовать char[8] к unsigned long long?
Требуется выполнить преобразование char к unsigned long long и обратно

Как long перевести в char?
У меня дата и время в формате long пишу так sprintf(buf, &quot;%d&quot;, p); MessageBoxA(NULL, buf, &quot;information&quot;, MB_OK); p это...

Преобразование массива char в массив long long
Имеется большой массив char, в котором содержатся числа. Нужно максимально быстро извлечь их и записать в массив чисел long long. ...

Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую
Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s) ) и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru