Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
1

Битовая инверсия

07.02.2016, 23:47. Просмотров 2080. Ответов 7
Метки нет (Все метки)

Доброго времени суток!
Я что-то запутался с побитовой инверсией.
В коде прописываю
C++
1
2
int a=5;
cout<<~a<<endl;
Это же означает, что в бинарном коде нули меняются на единицы, а единицы на нули.
5 = 00000101. Но если я произведу замену, то получится: 11111010 - калькулятор показывает, что это значение = -6 в десятичной системе счисления. А программа, код которой я написал показывает: 4294967290 и это правильно.
Подскажите, в чём я тут путаюсь? Если неправильно пользуюсь калькулятором, то как надо?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 23:47
Ответы с готовыми решениями:

Битовая инверсия переменной в условии цикла for
Доброго времени суток. Возможно ли ещё как-то использовать/применять конструкцию с битовой...

Битовая маска
Как в шифровании битовыми перестановками применить маску?

Битовая операция ->
Что делает операция -&gt; К примеру, есть структура: struct BIT{ unsigned int cod1:3; ...

Битовая сортировка!
Всем привет. Нужно написать реферат по теме &quot;Битовая сортировка&quot;. Такого в инете, а также...

7
2572 / 2188 / 233
Регистрация: 03.07.2012
Сообщений: 7,896
Записей в блоге: 1
08.02.2016, 00:39 2
У меня показывает -6. https://ideone.com/3K42g7
0
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
08.02.2016, 00:49  [ТС] 3
Возможно, у тебя получилось в проге -6, потому что ты использовал тип "int", а я использовал "unsigned int".
0
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
08.02.2016, 01:33 4
Цитата Сообщение от Ofelion Посмотреть сообщение
Подскажите, в чём я тут путаюсь?
Надо явное приведение к типу int.

Добавлено через 41 секунду
Цитата Сообщение от Ofelion Посмотреть сообщение
а я использовал "unsigned int"
У тебя в коде тип int.
0
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
08.02.2016, 01:38  [ТС] 5
Упс, я ошибся, в проге у меня unsigned int стоит.

Добавлено через 54 секунды
Так а в итоге-то, почему на калькуляторе -6? Я так и не понял ((
0
2572 / 2188 / 233
Регистрация: 03.07.2012
Сообщений: 7,896
Записей в блоге: 1
08.02.2016, 01:40 6
Цитата Сообщение от Ofelion Посмотреть сообщение
я использовал "unsigned int".
Цитата Сообщение от Ofelion Посмотреть сообщение
В коде прописываю
int a=5;
cout<<~a<<endl;
Сам не знаешь, что использовал? В unsigned int нет отрицательных чисел.
0
259 / 86 / 30
Регистрация: 29.10.2015
Сообщений: 196
08.02.2016, 01:50 7
Лучший ответ Сообщение было отмечено Ofelion как решение

Решение

Если речь о калькуляторе, который в винде, то он показывает знаковые числа. То есть единицы в старшем бите будут означать записанное в дополнительном коде отрицательное число.
1
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
08.02.2016, 10:07  [ТС] 8
zer0mail, я знаю, что я использовал. Написал же, что ошибся, приведя тут часть кода. Использовал "unsigned int" и знаю, что там нет отрицательных чисел. Вопрос в калькуляторе.

Добавлено через 17 секунд
Dreamer_0x01, понял теперь! Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2016, 10:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

С, битовая запись
Всем доброго времени суток, после 3 дней поиска информации решил попытать счастье, задав вопрос у...

битовая маска
как использовать битовую маску? за пример можно взять выделение k-того разряда из n-разрядного...

Битовая арифметика
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf(&quot;%d&quot;, myVar &amp; mask);...

битовая маска
надо разработать функцию проверки правильности битовой маски. 32-х битная “маска” считается...

64-битовая строка
Необходимо реализовать структуру 64-битовой строки состоящей из двух unsigned long полей, с...

Битовая переменная
#include &lt;avr/io.h&gt; #include &lt;avr/pgmspace.h&gt; #include &lt;avr/delay.h&gt; struct LEDValu { ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.