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

Вычленение битов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
crezd
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 10
30.06.2012, 20:07     Вычленение битов #1
Здраствуйте,

такая проблема, я получаю из LPT порта данные
в обычном децимальном измерении, как мне это число перевести в бинарное?

например из 222 в 001000100010

Заренее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 20:07     Вычленение битов
Посмотрите здесь:

C++ Обнуление битов
C++ Перенос битов
C++ Замена битов
C++ Замена битов
C++ Шифрация битов
C++ реверс битов
Сброс битов C++
Поиск по строке (вычленение из строки) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Paramol
Сообщений: n/a
30.06.2012, 22:06     Вычленение битов #2
Если я правильно понял, требуется перевести
из ASCII (неупакованные BCD) в упакованные BCD?

#include <stdlib.h>
#include <stdio.h>
void __stdcall ASCII2PBCD( void *ascii, // массив ASCII
void *pbcd, // массив PBCD
int pbcdlen) // длина массива PBCD
{
asm
{
mov ecx, pbcdlen
mov esi, ascii
lea esi, [esi] + ecx*2 - 2
mov edi, pbcd
lea edi, [edi]
@l1:
std
lodsw
and ax, 0x0F0F // ascii -> unpacked BCD
xchg al, ah
aad 16 // unpacked BCD -> packed BCD
cld
stosb
loop @l1
}
}
int main()
{
char ASCII[] = "12345678";
unsigned long PBCD=0;
ASCII2PBCD(ASCII,&PBCD,4);
char OutBuf[100];
ltoa(PBCD,OutBuf,2);
puts(OutBuf);
getchar();
return 0;
}
Yandex
Объявления
30.06.2012, 22:06     Вычленение битов
Ответ Создать тему
Опции темы

Текущее время: 16:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru