Operadores lógicos Parte 2
Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 21 de 75.
Los operadores lógicos tienen una tabla especial llamada "Tabla de verdad" que muestra lo que devuelve la combinación de operadores lógicos.
Tabla de verdad para el operador and (&&):
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
La única forma de obtener un true para el operador and (&&) es si tanto a como b son true
Tabla de verdad para el operador or (||):
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
En este caso, para obtener un resultado true, ya sea a o b debe ser true.
Tabla de verdad para el operador not (!):
| a | !a |
|---|---|
| false | true |
| true | false |
Aquí el valor de a se invierte. Si a es false entonces !a es true
Desafío
PrincipianteDebes asignar valores enteros a las variables b1 y b2 de modo que b3 se evalúe como true en la expresión: b3 = !((b1 + b2) > (b1 * b2)).
Hoja de referencia
Las tablas de verdad muestran los resultados de las combinaciones de operadores lógicos:
Operador AND (&&): Devuelve true solo cuando ambos operandos son true
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
Operador OR (||): Devuelve true cuando cualquiera de los operandos es true
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
Operador NOT (!): Invierte el valor booleano
| a | !a |
|---|---|
| false | true |
| true | false |
Pruébalo tú mismo
fn main() {
// Escribe tu código debajo
let b1: i32 = ?;
let b2: i32 = ?;
let b3: bool = !((b1 + b2) > (b1 * b2));
// No cambies la línea de abajo
println!("b3 = {}", b3);
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámica