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

Быстрый перевод байта в вектор битов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обмен опытом и сотрудничество http://www.cyberforum.ru/cpp-beginners/thread336904.html
Здравствуйте, программисты, веб-мастера, дизайнеры. Рад буду пообщаться, обменяться опытом, и принять участие в совместных проектах. Увлекаюсь веб технологиями, сейчас пытаюсь осваивать дизайн. На делфи и С++ програмлю ради интереса :) Пишите в icq: 97545554
C++ Управление скоростью вентилятора. Как собственно управлять скоростью вращения вентилятора? Я так понимаю, что скоростью вентилятора подключенного к блоку питания управлять не получится, а вот к 4 пиновому на матплате надеюсь да, и можно ли его вообще выключить? P.S. язык реализации в принципе не важен. http://www.cyberforum.ru/cpp-beginners/thread336783.html
C++ Можно ли рисовать в окне нажатием кнопки?
Попытался осуществить таким образом: case WM_COMMAND: { switch(LOWORD(wParam)) { case ID_BUTTON1: { PAINTSTRUCT ps1; HDC hdc1 = BeginPaint(hwnd, &ps1);
C++ GRF & DEV CPP
Доброго времени суток!Подскажите как в программе на Си/Си++ использовать графы созданные в программе GraphEdit???Нужно захапать поток с web камеры и обрабатывать отдельные кадры,при этом скорость обработки не критична...Как это можно реализовать???
C++ Доступ к HDD http://www.cyberforum.ru/cpp-beginners/thread335901.html
Подскажите пожалуйста, можно ли как нить узнать есть ли на жестком диске не размеченная область и получить к ней доступ? Ведь проги для работы с HDD видят, что есть не размеченная область.
C++ Делить на ноль нельзя? Я в курсе, нельзя. Но это было бы полбеды. Проблема в том, что судя по всему, нельзя делить не только на ноль. Есть интересная задача и неинтересное #include <iostream> using namespace std; int main() { long long a, b; cin >> a >> b; подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
31.07.2011, 18:54     Быстрый перевод байта в вектор битов
Я бы при таком подходе вообще как-то так сделал:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
 
unsigned long long uchar2ll(unsigned char uc){
    static unsigned long long tbl[256] = 
    {   0x0ull, 0x1ull, 0x100ull, 0x101ull, 0x10000ull, 0x10001ull, 0x10100ull, 0x10101ull,
        0x1000000ull, 0x1000001ull, 0x1000100ull, 0x1000101ull, 0x1010000ull, 0x1010001ull, 0x1010100ull, 0x1010101ull,
        0x100000000ull, 0x100000001ull, 0x100000100ull, 0x100000101ull, 0x100010000ull, 0x100010001ull, 0x100010100ull, 0x100010101ull
    }; // всю таблицу лень писать
    return tbl[uc];
}
 
// just for show
void dump(const unsigned char * arr){
    int i;
    for ( i = 0; i < 8; ++i )
        printf("%d", arr[i]);
    printf("\n");
}
 
int main(void){
    int val;
    unsigned long long res;
    
    while ( printf("Number from 0 to 255: ") && scanf("%d", &val) == 1 && val > -1 && val < 256 ){
        res = uchar2ll((unsigned char)val);
        dump((unsigned char*)&res);
    }
    
    return 0;
}
Только таблицу соответственно нужно сделать с учётом заморочек с bigendian/littleendian, ну и всю до конца, разумеется...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru