0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 28
|
|
1 | |
Оператор ^03.07.2019, 15:40. Показов 1165. Ответов 6
Метки нет (Все метки)
Что делает оператор '^'? Я не могу найти информацию про него в интернете, поэкперементировавши я понял, что он отнимает код второго символа от первого - это в случае если код первого символа больше по значению, чем у второго. В случае, когда символы равны он возвращает нулевой символ. А вот принцип работы в случае, если первый код символа меньше второго,я не понял. Как оно работает? И для чего он? ЭТО ЧТО СЕКРЕТНАЯ ИНФОРМАЦИЯ?
0
|
03.07.2019, 15:40 | |
Ответы с готовыми решениями:
6
Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости |
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
||||||||||||||||
03.07.2019, 15:46 | 2 | |||||||||||||||
Сообщение было отмечено SiBajev как решение
Решение
Нет конечно, оператор ^ это оператор XOR, т.е. есть у тебя числа в двоичной системе: 1001 и 1010, на выходе ты получишь это число: 0011, т.к. там где числа разные, оно вернет еденицу, где одинаковые, ноль.
Это проще смотреть на булевых значениях, вот: true ^ true даст нам false, а false ^ true (или true ^ false) даст нам true т.е. значения разные, при проверке условии, этот оператор почти никогда не используется, его можно использовать только что бы получить только непарную истину т.е. 1,3,5,7.. выражений будут иметь true, к примеру любая проверка где будет ^ вернет true только тогда, когда из всех значения только одно истина, тут нам дадут true:
1
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
03.07.2019, 15:50 | 4 |
SiBajev,
Не секретная )) Это xor, есть например два байта по 8 бит каждый 01001011 10001011 Если между ними применить xor, то получится 11000000 То есть 01001011 ^ 10001011 = 11000000 В той паре битов где одна часть равна 1, а другая 0 ответом будет 1, во всех остальных случаях будет 0 и так для каждого бита. Часто применяется в алгоритмах шифрования.
1
|
89 / 108 / 15
Регистрация: 26.01.2014
Сообщений: 689
|
|
03.07.2019, 17:36 | 5 |
Исключающее ИЛИ (оператор ^) применяет побитово операцию XOR. Например, для чисел
? char a = 12; char b = 85; char c = a ^ b; printf("%d", c); будет выведено 89, так как a равно 00001100, а b равно 01010101. В итоге получим 01011001 И сам изрядный лентяй. Ленивей меня наверно только мой сытый Кот. Но это из Википедии по моему. Убедись ка сам. Твой Etien
0
|
Неэпический
|
|
03.07.2019, 17:53 | 6 |
У Вас какой-то свой Интернет?
Первая ссылка в гугле: Идем по ней, смотрим: Ух ты, операция называется "Побитовое исключающее ИЛИ". Гуглим: Первая же ссылка на википедию... хм... идем туда: Блин, точняк секретная операция, инфу не найти!
0
|
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 28
|
|
03.07.2019, 23:36 [ТС] | 7 |
0
|
03.07.2019, 23:36 | |
03.07.2019, 23:36 | |
Помогаю со студенческими работами здесь
7
Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->? Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Оператор break как оператор go to next Как перегрузить оператор<< и оператор>> ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |