Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
2 / 2 / 2
Регистрация: 11.10.2016
Сообщений: 123

Работа с битами: как просмотреть и изменить заданный бит в переменной типа char?

13.05.2018, 10:39. Показов 8040. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть переменная типа char, как посмотреть в нем биты и изменять их?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2018, 10:39
Ответы с готовыми решениями:

Работа с битами. Сдвиг бит в массиве переменных. О как
Всем привет.. Задача такая.. Есть небольшой массив (пусть будет размер три) Добавлено через 11 минут Всем привет.. Задача такая.. ...

Как присвоить значение одного из элементов массива типа char переменной типа int?
С++ начал буквально только что так что буду благодарен за терпение и понимание ) Сразу оговорюсь что уже искал ответ но на эту тему...

Работа с битами в Char
Доброго времни суток! Стоит задача сделать операцию сложения битов по модулю 2 над двумя объектами типа char, приравнять полученный...

3
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.05.2018, 11:50
char x;
cout ((x>>i)&1); // Посмотреть i-тый бит с конца
x |= (1<<i); // Установить в 1
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
13.05.2018, 12:40
Лучший ответ Сообщение было отмечено Elllik как решение

Решение

Что-нибудь типа такого.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
typedef char Type; // задаем нужный тип
 
void print_binary(Type t)
{
    Type m = 1 << sizeof(Type) * 8 - 1;
 
    for (int i = 0; i < sizeof(Type) * 8; ++i)
    {
        cout << (t & m ? 1 : 0);
        t <<= 1;
        
        if (i % 8 == 7)
            cout << ' ';
    }
 
    cout << endl;
 
}
 
int main()
{
    Type c;
    int n;
    bool b;
    cout << "Value: ";
    cin >> c;
    print_binary(c);
    cout << "Bit number (0 - " << sizeof(Type) * 8 - 1 << "): ";
    cin >> n;
    cout << "Bit value (0 / 1): ";
    cin >> b;
 
    if (b)
        c |= 1 << n;
    else
        c &= ~(1 << n);
 
    cout << "Value: " << c << endl;
    print_binary(c);
 
    system("pause");
    return 0;
}
2
2 / 2 / 2
Регистрация: 11.10.2016
Сообщений: 123
13.05.2018, 15:23  [ТС]
Цитата Сообщение от QuakerRUS Посмотреть сообщение
Что-нибудь типа такого.
Спасибо большое, разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2018, 15:23
Помогаю со студенческими работами здесь

Как найти заданный элемент (типа char) в массиве структур?
Есть массив структур в виде адресной книги с 10 записями с уже введёнными данными (фамилия, имя, улица, номер дома и номер квартиры). ...

Как работать с переменной типа char?
Не понимаю переменную char и как с ней работать.

Как сохранить float в переменной типа char?
Всем здрасьте. Как можно записать float в char ? И как потом float вытащить из char, если он будет находится примерно посередине ну или...

Как присвоить переменной типа char значение скобки
Привет. Столкнулся с проблемой что не могу присвоють переменной типа char значение скобки (правой или левой(закрывающей или...

Как получить адрес переменной типа unsigned char?
Всем привет! Как получить адрес переменной типа unsigned char? Всё ерунда получается #include &lt;iostream&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru