Логические операторы. Часть 2
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 21 из 75.
Логические операторы имеют специальную таблицу, называемую «Таблица истинности», которая показывает, что возвращает комбинация логических операторов.
Таблица истинности для оператора and (&&):
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
Единственный способ получить true для оператора and (&&) — это если и a, и b имеют значение true
Таблица истинности для оператора or (||):
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
В этом случае, чтобы получить результат true, либо a, либо b должен быть true.
Таблица истинности для оператора not (!):
| a | !a |
|---|---|
| false | true |
| true | false |
Здесь значение a инвертируется. Если a равно false, то !a равно true
Задание
НовичокВам нужно присвоить целые значения переменным b1 и b2, чтобы b3 приняло значение true в выражении: b3 = !((b1 + b2) > (b1 * b2)).
Шпаргалка
Таблицы истинности показывают результаты комбинаций логических операторов:
Оператор AND (&&): Возвращает true только тогда, когда оба операнда равны true
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
Оператор OR (||): Возвращает true, когда хотя бы один операнд равен true
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
Оператор NOT (!): Инвертирует логическое значение
| a | !a |
|---|---|
| false | true |
| true | false |
Попробуйте сами
fn main() {
// Введите ваш код ниже
let b1: i32 = ?;
let b2: i32 = ?;
let b3: bool = !((b1 + b2) > (b1 * b2));
// Не изменяйте строку ниже
println!("b3 = {}", b3);
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод