Menu
Coddy logo textTech

Логические операторы. Часть 2

Часть раздела Fundamentals путешествия по Rust на Coddy — урок 21 из 75.

Логические операторы имеют специальную таблицу, называемую «Таблица истинности», которая показывает, что возвращает комбинация логических операторов.

Таблица истинности для оператора and (&&):

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

Единственный способ получить true для оператора and (&&) — это если и a, и b имеют значение true

Таблица истинности для оператора or (||):

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

В этом случае, чтобы получить результат true, либо a, либо b должен быть true.

Таблица истинности для оператора not (!):

a!a
falsetrue
truefalse

Здесь значение a инвертируется. Если a равно false, то !a равно true

challenge icon

Задание

Новичок

Вам нужно присвоить целые значения переменным b1 и b2, чтобы b3 приняло значение true в выражении: b3 = !((b1 + b2) > (b1 * b2)).

Шпаргалка

Таблицы истинности показывают результаты комбинаций логических операторов:

Оператор AND (&&): Возвращает true только тогда, когда оба операнда равны true

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

Оператор OR (||): Возвращает true, когда хотя бы один операнд равен true

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

Оператор NOT (!): Инвертирует логическое значение

a!a
falsetrue
truefalse

Попробуйте сами

fn main() {
    // Введите ваш код ниже
    let b1: i32 = ?;
    let b2: i32 = ?;
    let b3: bool = !((b1 + b2) > (b1 * b2));
    
    // Не изменяйте строку ниже
    println!("b3 = {}", b3);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals