Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
VladimirU
125 / 103 / 18
Регистрация: 14.02.2013
Сообщений: 770
#1

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

04.03.2013, 21:32. Просмотров 297. Ответов 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 как обратно перевести ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
04.03.2013, 21:43     Передать из массива char в переменную long? #2
функция atol помоему
VladimirU
125 / 103 / 18
Регистрация: 14.02.2013
Сообщений: 770
04.03.2013, 21:47  [ТС]     Передать из массива char в переменную long? #3
есть такая функция я знаю. Она на моём компиляторе не робит. Я для микроконтроллера пишу.
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
04.03.2013, 21:49     Передать из массива char в переменную long? #4
Цитата Сообщение от VladimirU Посмотреть сообщение
A как обратно перевести ?
всмысле? это ж union.
VladimirU
125 / 103 / 18
Регистрация: 14.02.2013
Сообщений: 770
04.03.2013, 21:52  [ТС]     Передать из массива char в переменную long? #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
всмысле? это ж union.
Я же говорю не не работает atoi.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
04.03.2013, 21:56     Передать из массива char в переменную long? #6
Кастанеда, наверно имеет ввиду, что данные в объеднении перекрываются
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
04.03.2013, 21:56     Передать из массива char в переменную long? #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();
}
VladimirU
125 / 103 / 18
Регистрация: 14.02.2013
Сообщений: 770
04.03.2013, 22:04  [ТС]     Передать из массива char в переменную long? #8
У меня две переменные
C++
1
2
char aaa[4]={12,13,14,15};
long bbb;
надо aaa передать в bbb что бы вышло вот так 0x12131415.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 22:09     Передать из массива char в переменную long?
Еще ссылки по теме:
Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую C++
C++ long long r char[] __int64
Сложение массива типа char в одну переменную C++
long double и char C++
C++ Преобразование long double в char

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
04.03.2013, 22:09     Передать из массива char в переменную long? #9
Про little-endian / big-endian слышал?
Вобщем вот http://ru.wikipedia.org/wiki/Порядок_байтов советую ознакомиться.
Yandex
Объявления
04.03.2013, 22:09     Передать из массива char в переменную long?
Ответ Создать тему
Опции темы

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