Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / 2-х значное в unsigned char / 25 сообщений из 33, страница 1 из 2
30.08.2006, 18:49
    #33953657
2-х значное в unsigned char
Требуется реализовать возможность записи любого десятиричного числа в переменную типа unsigned char. Подскажите как? Числа могут динамически изменяться(т.е. число не постоянное). Наверно придется использовать BCD. )))
Только как?
...
Рейтинг: 0 / 0
30.08.2006, 19:27
    #33953750
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
unsigned char c;
int a, b;

a =  3 ;
b =  6 ;

c = (a <<  4 ) | b;
printf("%x\n", c);

a = c >>  4 ;
b = c & 0xf;
printf("a=%d b=%d\n", a, b);
...
Рейтинг: 0 / 0
31.08.2006, 11:49
    #33954905
2-х значное в unsigned char
White Owl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
unsigned char c;
int a, b;

a =  3 ;
b =  6 ;

c = (a <<  4 ) | b;
printf("%x\n", c);

a = c >>  4 ;
b = c & 0xf;
printf("a=%d b=%d\n", a, b);


Это перевод в BCD?
...
Рейтинг: 0 / 0
31.08.2006, 12:35
    #33955077
2-х значное в unsigned char
Извиняюсь за глупый вопрос, но что-то я не догоняю.
Как число 52 передать в переменную типа Unsigned char простым бинарным числом
...
Рейтинг: 0 / 0
31.08.2006, 12:42
    #33955114
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек Пч> Как число 52 передать в переменную типа Unsigned char
Пч> простым бинарным числом
unsigned char c = 52;
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 12:46
    #33955133
2-х значное в unsigned char
Карабас Барабас Полный чайничек Пч> Как число 52 передать в переменную типа Unsigned char
Пч> простым бинарным числом
unsigned char c = 52;
Posted via ActualForum NNTP Server 1.3
А разве Char не один байт вмещает?
...
Рейтинг: 0 / 0
31.08.2006, 12:50
    #33955149
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничекА разве Char не один байт вмещает?один конечно
и что ? сколько байт займут твои 52 ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 12:55
    #33955175
2-х значное в unsigned char
Есть функция, вызываемая из dll
Код: plaintext
extern "C" int __declspec(dllexport) __stdcall ReadBlock(unsigned char* Data, TUID &UID, unsigned char Block, unsigned char KSet);

Необходимо в memo вывести результат "Data" - 16 байт,
но у меня выводит не то что надо.

Делаю вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
TUID UID;
unsigned char* Data;
unsigned char Block =  52 ;
unsigned char KSet =  1 ;
GetUID(&UID);//Здесь всё нормально

Data = new char[ 16 ];
Edit->Text = IntToStr(ReadBlock(Data, UID, Block, KSet));

Подскажите, в чём ошибка.
...
Рейтинг: 0 / 0
31.08.2006, 12:58
    #33955193
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек
х его з, в чём у тебя ошибка

что делает ReadBlock ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 13:00
    #33955206
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Берешь по байту из даты, конвертишь его в число и добавляешь в мемо. При помощи sprintf можешь конвертить в любой вид - десятиричный, шестнадцатиричный...
...
Рейтинг: 0 / 0
31.08.2006, 13:03
    #33955230
2-х значное в unsigned char
Карабас Барабас Полный чайничек
х его з, в чём у тебя ошибка

что делает ReadBlock ?
Posted via ActualForum NNTP Server 1.3
Читает данные из USB устройства. А так вообще есть ошибки на "правильность употребления переменных", так грубо скажем .
...
Рейтинг: 0 / 0
31.08.2006, 13:05
    #33955242
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек
а вызываешь функцию правильно ? в смысле объявил её правильно ? Точно __stdcall ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 13:10
    #33955262
2-х значное в unsigned char
Карабас Барабас Полный чайничек
а вызываешь функцию правильно ? в смысле объявил её правильно ? Точно __stdcall ?
Posted via ActualForum NNTP Server 1.3
Не совсем понял вопроса. У меня была dll и файл-описание основных функций и структур данных (***.h). Я сделал этому файлу include и сразу написал то, что изложил выше.
...
Рейтинг: 0 / 0
31.08.2006, 13:13
    #33955268
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек Пч> Не совсем понял вопроса. У меня была dll и файл-описание
Пч> основных функций и структур данных (***.h). Я сделал
Пч> этому файлу include и сразу написал то, что изложил выше
и всё же раз таинственная ошибка происходит, значит: а. функция кривая, б. ты что-то делаешь не так
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 13:15
    #33955273
2-х значное в unsigned char
Карабас Барабас Полный чайничек Пч> Не совсем понял вопроса. У меня была dll и файл-описание
Пч> основных функций и структур данных (***.h). Я сделал
Пч> этому файлу include и сразу написал то, что изложил выше
и всё же раз таинственная ошибка происходит, значит: а. функция кривая, б. ты что-то делаешь не так
Posted via ActualForum NNTP Server 1.3
Ошибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1
...
Рейтинг: 0 / 0
31.08.2006, 13:20
    #33955293
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек Пч> Ошибка не таинственная. Функция в случае удачи должна
Пч> возвратить 0 , a выдает -1
Ну я и говорю - таинственная. Что означает -1 ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 13:27
    #33955329
2-х значное в unsigned char
Карабас Барабас Полный чайничек Пч> Ошибка не таинственная. Функция в случае удачи должна
Пч> возвратить 0 , a выдает -1
Ну я и говорю - таинственная. Что означает -1 ?
Posted via ActualForum NNTP Server 1.3
Этого я и сам не знаю)) Спасибо за помощь
...
Рейтинг: 0 / 0
31.08.2006, 13:42
    #33955402
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
...
Рейтинг: 0 / 0
31.08.2006, 14:15
    #33955533
2-х значное в unsigned char
Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.
...
Рейтинг: 0 / 0
31.08.2006, 14:22
    #33955553
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.

Отсюда вывод? Правильно - определить какие параметры не вызовут ошибку и проверить, что они действительно передаются.
...
Рейтинг: 0 / 0
31.08.2006, 14:34
    #33955594
2-х значное в unsigned char
Akh Полный чайничек Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.

Отсюда вывод? Правильно - определить какие параметры не вызовут ошибку и проверить, что они действительно передаются.
Как определить. Разработчик сказал, что в Block передается число в бинарной форме (от 0 до 60) , а в KSet в той же форме или 0 или 5.А как узнать, что они действительно передаются. Библиотеку разрабатывал не я.
...
Рейтинг: 0 / 0
31.08.2006, 14:39
    #33955608
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2006, 14:51
    #33955649
2-х значное в unsigned char
Карабас Барабас Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Posted via ActualForum NNTP Server 1.3
Да я с ним уже связался. Примеров у него пока точно нет.
...
Рейтинг: 0 / 0
31.08.2006, 14:55
    #33955667
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Полный чайничек Карабас Барабас Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Да я с ним уже связался. Примеров у него пока точно нет.

Тогда, возможно, ошибка в процедуре.
...
Рейтинг: 0 / 0
31.08.2006, 15:32
    #33955817
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-х значное в unsigned char
Может в этом проблема:

1.
Полный чайничекКак определить. Разработчик сказал, что в Block передается число в бинарной форме (от 0 до 60) , а в KSet в той же форме или 0 или 5 .А как узнать, что они действительно передаются. Библиотеку разрабатывал не я.
А ты передаёшь:
unsigned char KSet = 1;

2.
extern "C" int __declspec(dllexport) __stdcall ReadBlock(unsigned char* Data, TUID &UID , unsigned char Block, unsigned char KSet);

А у тебя:
TUID UID;
....
Edit->Text = IntToStr(ReadBlock(Data, UID , Block, KSet));
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / 2-х значное в unsigned char / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]