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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
#1

Посмотреть символ в битовой схеме - C++

20.06.2011, 20:16. Просмотров 1161. Ответов 12
Метки нет (Все метки)

есть запись например такая:
C++
1
unsigned char bits=1;
как ее можно посмотреть в битовой схеме, т.е. чтобы вывод на экран выглядел так: 10011011 ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 20:16     Посмотреть символ в битовой схеме
Посмотрите здесь:

Поиск битовой последовательности (с заморочками) C++
Заменить в каждой сроке один заданный символ на другой заданный символ C++
Заменить символ ':' на символ точки C++
Посмотреть код C++
C++ Это эта задача? (Поменять подряд заданный символ на другой символ.)
C++ Заменить в тексте символ, который вводится с клавиатуры на символ *
Обменять символ 'a' на символ 'т' в заданной строке. Оформить в виде функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
20.06.2011, 20:32     Посмотреть символ в битовой схеме #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void  _bin8(char* buf, unsigned char _c) {
    char* p = buf + 7;
    for(int i = 0; i < 8; i++)  *((buf) + i) = '0';
    for(; _c ; _c >>= 1) {
        *p = (_c & 0x1) ? '1' : '0';
        --p;
    }
    buf[8] = '\0';
}
 
 
 void  main(void){
      unsigned char bits=0xAF;
      char buf[8];
      _bin8(buf, bits);
       cout << buf << endl;
}
Евгений М.
1034 / 975 / 53
Регистрация: 28.02.2010
Сообщений: 2,819
Завершенные тесты: 2
20.06.2011, 20:34     Посмотреть символ в битовой схеме #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    unsigned char bits=4, temp, i;
    for (i=0; i<8; i++)
    {
        temp = (bits >> 7-i) & 1;
        printf("%u", temp);
    }
}
Добавлено через 21 секунду
Не успел.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
20.06.2011, 20:37     Посмотреть символ в битовой схеме #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Перевод произвольного десятичного числа типа char в двоичную систему счисления
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
20.06.2011, 20:38     Посмотреть символ в битовой схеме #5
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <bitset>
 
int main()
{
   unsigned char p = 255;
   std::bitset<8> bit(p);
   std::cout << bit << '\n';
}
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.06.2011, 20:40     Посмотреть символ в битовой схеме #6
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <bitset>
int main(){
    unsigned char bits = 3;
    std::bitset<10> bs(bits);
    for (size_t i = 0; i < bs.size() ; ++i)
        std::cout << bs[i]; 
    return 0;
}
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
20.06.2011, 21:01  [ТС]     Посмотреть символ в битовой схеме #7
а в реальных программах побитовыми операторами вообще пользуются? если да, то где обычно?
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.06.2011, 21:05     Посмотреть символ в битовой схеме #8
В флагах.
Например
C++
1
2
3
fstream filestr;
 
  filestr.open ("test.txt", fstream::in | fstream::out | fstream::app);
Ну и еще много где по мелочи
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
20.06.2011, 21:25     Посмотреть символ в битовой схеме #9
Цитата Сообщение от Olejeg85 Посмотреть сообщение
а в реальных программах побитовыми операторами вообще пользуются? если да, то где обычно?
Больше в системном программировании, чем в прикладном.
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
21.06.2011, 17:13     Посмотреть символ в битовой схеме #10
Olejeg85, скажем, двойку в степень удобнее всего побитово возвести, если за границы типа результат не выйдет. Или число на чётность тоже проверяется классно.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
21.06.2011, 20:40     Посмотреть символ в битовой схеме #11
Лучше использовать библиотечную функцию, быстрее.
C++
1
2
3
4
unsigned int bit = 0xf1;
char s[9];
itoa(bit, s, 2);
puts(s);
Цитата Сообщение от fasked Посмотреть сообщение
Больше в системном программировании, чем в прикладном
В шифровании, сжатие информации, в графике тернарных растровых операций.....
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.06.2011, 21:56     Посмотреть символ в битовой схеме #12
Цитата Сообщение от xAtom Посмотреть сообщение
Лучше использовать библиотечную функцию, быстрее.
Этой функции нет в стандарте. Конечно, она предоставляется абсолютным большинством компиляторов. Но переносимость не гарантируется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 22:35     Посмотреть символ в битовой схеме
Еще ссылки по теме:

C++ Если слово имеет нечетную длину , то удвоить средний символ и с обоих концов добавить символ "*"
C++ Телефонная компания. Кодировка информации в 64 битовой переменной
C++ Циклический сдвиг битов по столбцу в битовой матрице
Подсчет crc16 для битовой последовательности C++
C++ Ввести число в битовой форме: 8 бит, старшие биты слева, младшие – справа

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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт С++
1016 / 795 / 48
Регистрация: 30.04.2011
Сообщений: 1,614
21.06.2011, 22:35     Посмотреть символ в битовой схеме #13
Цитата Сообщение от Евгений М. Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    unsigned char bits=4, temp, i;
    for (i=0; i<8; i++)
    {
        temp = (bits >> 7-i) & 1;
        printf("%u", temp);
    }
}
Добавлено через 21 секунду
Не успел.
Зато у тебя ГОРАЗДО читабельнее!
Yandex
Объявления
21.06.2011, 22:35     Посмотреть символ в битовой схеме
Ответ Создать тему
Опции темы

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