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

Побитовое NOT - C++

Восстановить пароль Регистрация
 
Вальдемар
 Аватар для Вальдемар
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
04.04.2013, 22:34     Побитовое NOT #1
Вопрос тем кто шарит...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    int i;
    bool b;
    
    cout << "~\n";
    
    i = 3; // 0011;
    b = ~i; // 1100 = 1;
    cout << b << endl;
    
    i = 0; // 0000;
    b = ~i; // 1111 = 1;
    cout << b << endl;
    
    i = 15; // 1111;
    for(int v=8; v; v/=2) (v & i)? cout << "1": cout << "0";
    cout << endl;
    
    i = ~i;
    for(int v=8; v; v/=2) (v & i)? cout << "1": cout << "0";
    cout << endl;
    
    b = i; // 0000 = 0;
    cout << b << endl;
Так вот, почему на выходе 1 а не 0

Добавлено через 27 минут
Разобрался. Побитовое не меняет число на противоположное, тоесть в маем случае на -16.
А число отличное от нульа = true
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 22:34     Побитовое NOT
Посмотрите здесь:

C++ побитовое увеличение
Побитовое представление числа. C++
C++ Побитовое чтение
C++ Побитовое исключающее ИЛИ (XOR)
Побитовое вычитание C++
Побитовое сравнение двух чисел C++
C++ Побитовое чтение/запись в файл
Побитовое замещение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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