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

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

16.07.2017, 00:26. Показов 3020. Ответов 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
13182 / 6818 / 1821
Регистрация: 18.10.2014
Сообщений: 17,255
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
13182 / 6818 / 1821
Регистрация: 18.10.2014
Сообщений: 17,255
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
13182 / 6818 / 1821
Регистрация: 18.10.2014
Сообщений: 17,255
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
13182 / 6818 / 1821
Регистрация: 18.10.2014
Сообщений: 17,255
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
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru