Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VladimirU
132 / 110 / 20
Регистрация: 14.02.2013
Сообщений: 799
#1

Передать из массива char в переменную long? - C++

04.03.2013, 21:32. Просмотров 313. Ответов 8
Метки нет (Все метки)

Переменную x.number = 0xff804020; я передал в массив x.bytes по байтно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "conio.h"
 
union X
{ 
unsigned long number; 
unsigned char bytes[4]; 
};
int main()
{
X x;
x.number = 0xff804020;
 
printf("%x,%x,%x,%x", x.bytes[0], x.bytes[1], x.bytes[2], x.bytes[3]);
getch();
}
A как обратно перевести ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передать из массива char в переменную long? (C++):

Передать из массива char в переменную long? - C++
Люди добрые help!!! Не могу сообразить как обратно вернуть значение переменной x.number = 0xff804020; #include "stdafx.h" #include...

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

Передать переменную типа char по ссылке - C++
доброго времени суток. помогите над очень простым задание из одной книги. Создайте функцию, которая получает аргумент char& и...

Конвертирование массива char в long double - C++
#include <iostream> #include <stdlib.h> #include <cstring> using namespace std; class money { private: static const int...

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

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

8
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
04.03.2013, 21:43 #2
функция atol помоему
0
VladimirU
132 / 110 / 20
Регистрация: 14.02.2013
Сообщений: 799
04.03.2013, 21:47  [ТС] #3
есть такая функция я знаю. Она на моём компиляторе не робит. Я для микроконтроллера пишу.
0
Kastaneda
Jesus loves me
Эксперт С++
4717 / 2921 / 242
Регистрация: 12.12.2009
Сообщений: 7,434
Записей в блоге: 2
Завершенные тесты: 1
04.03.2013, 21:49 #4
Цитата Сообщение от VladimirU Посмотреть сообщение
A как обратно перевести ?
всмысле? это ж union.
0
VladimirU
132 / 110 / 20
Регистрация: 14.02.2013
Сообщений: 799
04.03.2013, 21:52  [ТС] #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
всмысле? это ж union.
Я же говорю не не работает atoi.
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
04.03.2013, 21:56 #6
Кастанеда, наверно имеет ввиду, что данные в объеднении перекрываются
0
Kastaneda
Jesus loves me
Эксперт С++
4717 / 2921 / 242
Регистрация: 12.12.2009
Сообщений: 7,434
Записей в блоге: 2
Завершенные тесты: 1
04.03.2013, 21:56 #7
я видать сути вопроса не понял, зачем что-то куда-то передавать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include "conio.h"
 
union X
{ 
unsigned long number; 
unsigned char bytes[4]; 
};
int main()
{
X x;
x.number = 0xff804020;
 
printf("%x,%x,%x,%x", x.bytes[0], x.bytes[1], x.bytes[2], x.bytes[3]);
printf("%ld", x.numbers);
getch();
}
0
VladimirU
132 / 110 / 20
Регистрация: 14.02.2013
Сообщений: 799
04.03.2013, 22:04  [ТС] #8
У меня две переменные
C++
1
2
char aaa[4]={12,13,14,15};
long bbb;
надо aaa передать в bbb что бы вышло вот так 0x12131415.
0
Kastaneda
Jesus loves me
Эксперт С++
4717 / 2921 / 242
Регистрация: 12.12.2009
Сообщений: 7,434
Записей в блоге: 2
Завершенные тесты: 1
04.03.2013, 22:09 #9
Про little-endian / big-endian слышал?
Вобщем вот http://ru.wikipedia.org/wiki/Порядок_байтов советую ознакомиться.
0
04.03.2013, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 22:09
Привет! Вот еще темы с ответами:

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

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

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

long long r char[] __int64 - C++
Добрый день возник следующий вопрос: мне требуется преобразовать тип long long в char, при этом код должен быть переносимым (т.е. мне надо...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.