C#
Почему в C# логические операторы имеют именно такой вид (||, |, &&, &, !)
В языках Pascal, Python, SQL логические операторы имеют очевидные и простые наименования (and, or, not и т.п.). Но почему в C# операторы называются именно так?
I и & это бинарные операции. Они не логические. А на счет остального - так Бог распорядилсЯ. В общем то логика все равно есть && амперсанд переводится как И. Сама она так и называется логическое И или в простонародие простое умножение булевых переменных.
А вот у символов логического или(или логического сложения) || я не нашел логики..
К слову в гет запросах апмерсант является разделителем аргументов в браузерной строке. Так что и там она уже оч давно переводится как &
А вот у символов логического или(или логического сложения) || я не нашел логики..
К слову в гет запросах апмерсант является разделителем аргументов в браузерной строке. Так что и там она уже оч давно переводится как &
потому что это НЕ логические операторы, а бинарные булевские
которые одинарные - булевские, двойные - логические; так точнее
булевские работают только с двоичными выражениями (с числами), а логические - с булевскими переменными; запутано, но это так
пример использования:
бинарный
логический
если попробуешь применить бинарный оператор на булевские переменные, либо получишь compile-time ошибку, либо он возьмет численные значения твоих переменных (зависит от языка)
пример:
которые одинарные - булевские, двойные - логические; так точнее
булевские работают только с двоичными выражениями (с числами), а логические - с булевскими переменными; запутано, но это так
пример использования:
бинарный
00000001 | 00000010 == 00000011
логический
(true) || (false) == true
если попробуешь применить бинарный оператор на булевские переменные, либо получишь compile-time ошибку, либо он возьмет численные значения твоих переменных (зависит от языка)
пример:
(true) | (false) == 00000001
Илья Бурцев
Есть разница? Звучит как синоним. Я не нашёл в статьях по булевой (логической) алгебре символов, которые бы выглядели точно так же как в C#.
Потому что ноги у Си-Шарпа растут из языка Си, у которого логические операторы именно такие. Язык Си создавался программистами и для программистов, т.е. изначально предполагалось, что им будут пользоваться достаточно умные люди, которые ценят свое время и свои силы и которым вполне по силу запомнить, в каких случаях нужно использовать одинарные символы логических операций а в каких- двойные. И программисты по достоинству оценили лаконичный синтаксис Си. А вот Паскаль, Питон и SQL создавались в расчете на другую целевую аудиторию и их авторы посчитали, что более понятный для неподготовленного человека синтаксис стоит того, чтобы набирать ради этого лишние символы на клавиатуре.
Похожие вопросы
- Почему в C# нумерация (индексы) элементов массива начинаются с нуля, а не с единицы?
- Написать программу для выполнения расчета требуемого количества операторов call-центра
- C#. Как вернуть индекс определенного элемента массива?Почему ошибка?
- Стоит ли дальше учить C#?
- Почему C# относится к компилируемым языкам, компиляция это перевод всего кода в машинный, а C# переводится в байт код
- Программирование на C Sharp (C#)
- Сегодня начал учить c#, решил сделать калькулятор простой и столкнулся с такой ошибкой при компиляции, хелпуйте.
- Что лучше C# или C++?
- Зачем разбивать код в C# на отдельные классы?
- Помогите пожалуйста. Написать на C#
Почему-то на сайте майкрософта написано что эти операторы логические. Это сбило с толку.