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

Зеркальное отображение битов в байте - C++

Восстановить пароль Регистрация
 
BboyBlackjack
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 106
19.04.2014, 10:41     Зеркальное отображение битов в байте #1
Всем привет, нужно сделать так, чтобы биты в байте отобразились зеркально, а затем вывести эту бодягу в восьмеричной системе, можно пользоваться только побитовыми операциями, заранее большое спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2014, 10:41     Зеркальное отображение битов в байте
Посмотрите здесь:

C++ Зеркальное отображение массива
Разворот порядка битов в байте C++
C++ Зеркальное отображение вводимого числа
C++ Разворот порядка битов в байте
Зеркальное отображение слов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Керра
Модератор
 Аватар для Керра
1270 / 438 / 45
Регистрация: 24.08.2011
Сообщений: 2,123
19.04.2014, 12:19     Зеркальное отображение битов в байте #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using std::cout;
using std::endl;
 
void main()
{
    char theByte = 186, theBit, invertedByte = 0;
 
    for (int i = 0; i < 8; i++)
    {
        theBit = (theByte >> i) & 1;
        cout << (unsigned int)theBit;
        invertedByte = (invertedByte << 1) | theBit;
    }
    cout << endl;
 
    cout.unsetf(std::ios::dec);
    cout.setf(std::ios::oct);
    cout << (unsigned int)invertedByte << endl;
    system("pause");
}
BboyBlackjack
4 / 4 / 1
Регистрация: 30.11.2013
Сообщений: 106
19.04.2014, 12:26  [ТС]     Зеркальное отображение битов в байте #3
Спасибо большое, очень выручили
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.04.2014, 13:12     Зеркальное отображение битов в байте #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main()
{
    unsigned char byte = 0x25;
    unsigned char result = 0x0;
    int biter = sizeof(byte) * 8;
 
    while (biter)
    {
        result |= ((byte & (1 << biter-1)) >> biter-1) << 8-biter;
        --biter;
    }
 
    printf("%02x\n", result);
}
Yandex
Объявления
19.04.2014, 13:12     Зеркальное отображение битов в байте
Ответ Создать тему
Опции темы

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