Форум программистов, компьютерный форум, киберфорум
Go (Golang)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 03.09.2018
Сообщений: 71
1

Работа оператора ^x

30.12.2018, 22:00. Показов 2165. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
^x Поразрядное дополнение значения x (The bitwise complement of x) - название оператора

Go
1
2
3
4
var b int64 = 8;
X:= ^b
fmt.Println(strconv.FormatInt(b,2)) //результат 1000
fmt.Println( strconv.FormatInt(X,2)) //тут -1001
объясните пожалуйста как работает данный оператор, говорят что он просто реверсирует биты, но не совсем понятно тогда, почему из 8 получается -9. Если возможно скиньте таблицу истинности для него
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2018, 22:00
Ответы с готовыми решениями:

Неправильная работа оператора присваивания после работы оператора суммирования
Доброго времени суток. У меня есть класс вектор class TVector {//ewde public: TVector();...

Работа оператора Sleep
Всем здравствуйте. Пытаюсь организовать задержку без использования таймера. Натолкнулся на...

Работа оператора Sizeof
Каким образом вычисляется размер, допустим, массива int mass ? Где-то в памяти хранится размер, и...

Странная работа оператора IF со сложносоставными услоиями
Кто знает причину или сталкивался почему простой IF в студии идет нормально, а если его компоновать...

2
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
30.12.2018, 23:48 2
Цитата Сообщение от degree128 Посмотреть сообщение
почему из 8 получается -9.
Потому что отрицательные числа в дополнительном коде
2
3896 / 899 / 122
Регистрация: 16.04.2009
Сообщений: 1,825
09.10.2019, 12:40 3
b = 00..1000 (первый ноль означает что число положительно)
^b работает как m XOR b, где m = 11111..11 (для беззнаковых) или 10..0001 (для чисел со знаком)
В оригинале: is m ^ x with m = "all bits set to 1" for unsigned x and m = -1 for signed x
Значит ^b = 10..0001 XOR 00..1000 = 100..1001
А это и есть -9.
0
09.10.2019, 12:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2019, 12:40
Помогаю со студенческими работами здесь

Некорректная работа цикла и условного оператора
Доброй ночи срочно нужен хелп. В общем есть два файлика .php, в первый приходит внешний набор...

Не корректная работа оператора ORDER BY запросе
Доброго всем времени суток. Запускаю на выполнение запрос 'INSERT INTO ''vrRec03.dbf'' (RECO)...

Работа тернарного оператора, исправить ошибку в коде
Друзья, подскажите, почему не выполняется данный код public bool ExistFile() { int...

Работа с Edit1. Определение оператора сотовой связи.
Вот у меня возник такой вопрос как сделать чтобы когда в Edit1 Вводиться норме сотового, а в Edit2...

Работа с матрицами n-го порядка без использования условного оператора.
Для заданной матрицы n-го порядка найти такие k, что k-я строка совпадает с k-м столбцом. для...

Избыточное копирование объекта при реализации оператора умножения и оператора присваивания
Есть класс работы с матрицами. Есть операция умножения матриц, описанная как оператор класса. В...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru