G-Fact 19 (operadores no lógicos y bit a bit en booleanos)

La mayoría de los lenguajes, incluidos C, C++, Java y Python, proporcionan el tipo booleano que se puede establecer en False o True .
Considere los siguientes programas que usan el operador Lógico No (o !) en booleano. 
 

C++

// A C++ program that uses Logical Not or ! on boolean
#include <iostream>
using namespace std;
 
int main()
{
    // we are making variable store bool expression of false
    // and true, it can be also written as (1) for 'true' and
    // (0) for 'false'
    bool is_it_true = false;
    bool is_it_false = true;
 
    // This code below print first false (0) and then true
    // (1) cause of we have used 'not' (!) operator in second
    // case
    cout << is_it_true << endl;
    cout << !is_it_true << endl;
 
    // This code below print first true (1) and then false
    // (0) cause of we have used 'not' (!) operator in second
    // case
    cout << is_it_false << endl;
    cout << !is_it_false << endl;
    return 0;
}

Python

# A Python program that uses Logical Not or ! on boolean
a = not True
b = not False
print a
print b
# Output: False
#         True

C#

// C# program that uses Logical
// Not or ! on boolean
using System;
 
class GFG
{
    public static void Main ()
    {
        bool a = true, b = false;
        Console.WriteLine(!a);
        Console.WriteLine(!b);
    }
}
// Output: False
//         True
 
// This code is contributed
// by Rajput-Ji

Javascript

<script>
// A javascript program that uses Logical Not or ! on boolean
     
        var a = true, b = false;
        document.write(!a+"<br/>");
        document.write(!b);
 
// Output: False
// True
 
// This code contributed by gauravrajput1
</script>
Producción

0
1
1
0

Las salidas de los programas anteriores son las esperadas, pero las salidas que siguen a los programas pueden no ser las esperadas si no hemos usado el operador Bitwise Not (o ~) antes.
 

Python

# A Python program that uses Bitwise Not or ~ on boolean
a = True
b = False
print ~a
print ~b

Java

// A Java program that uses Bitwise Not or ~ on boolean
import java.io.*;
 
class GFG
{
    public static void main (String[] args)
    {
        boolean a = true, b = false;
        System.out.println(~a);
        System.out.println(~b);
    }
}

Producción: 
 

6: error: bad operand type boolean for unary operator '~'
        System.out.println(~a);
                           ^
7: error: bad operand type boolean for unary operator '~'
        System.out.println(~b);
                           ^
2 errors

Conclusión: 
“¡Lógico no o!” está destinado a valores booleanos y «no bit a bit o ~» es para números enteros. Los lenguajes como C/C++ y python hacen una promoción automática de tipo booleano a entero cuando se aplica un operador entero. Pero Java no lo hace.
Este artículo es una contribución de Arpit Agarwal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *