Operadores unarios en C/C++

Operadores unarios: son operadores que actúan sobre un solo operando para producir un nuevo valor.

Tipos de operadores unarios:

  1. menos unario (-)
  2. incremento(++)
  3. decremento(- -)
  4. NO(!)
  5. Dirección del operador(&)
  6. tamaño de()

1. menos unario: el operador menos cambia el signo de su argumento. Un número positivo se vuelve negativo y un número negativo se vuelve positivo.

 int a = 10;
 int b = -a;  // b = -10

menos unario es diferente del operador de resta, ya que la resta requiere dos operandos.
A continuación se muestra la implementación del operador unario menos (-) :

C++

// C++ program to demonstrate the use of 'unary minus'
// operator
 
#include <iostream>
using namespace std;
 
int main()
{
    int positiveInteger = 100;
    int negativeInteger = -positiveInteger;
 
    cout << "Positive Integer: " << positiveInteger << endl;
    cout << "Negative Integer: " << negativeInteger << endl;
 
    return 0;
}
 
// This code is contributed by sarajadhav12052009
Producción

Positive Integer: 100
Negative Integer: -100

2. incremento: Se utiliza para incrementar el valor de la variable en 1. El incremento se puede realizar de dos formas:

2.1 incremento de prefijo: en este método, el operador precede al operando (por ejemplo, ++a). El valor del operando se modificará antes de que se utilice.

  int a = 1;
  int b = ++a;  // b = 2

2.2 incremento de postfijo: en este método, el operador sigue al operando (p. ej., a++). El valor del operando se modificará después de su uso.

 int a = 1;
 int b = a++;   // b = 1
 int c = a;     // c = 2

3. decremento: Se utiliza para decrementar el valor de la variable en 1. El decremento se puede hacer de dos formas:
3.1 decremento con prefijo: En este método, el operador precede al operando (por ejemplo, – -a). El valor del operando se modificará antes de que se utilice.

  int a = 1;
  int b = --a;  // b = 0

3.2 decremento postfijo: En este método, el operador sigue al operando (por ejemplo, a- -). El valor del operando se modificará después de su uso.

 int a = 1;
 int b = a--;   // b = 1
 int c = a;     // c = 0

4. NOT(!): Se utiliza para invertir el estado lógico de su operando. Si una condición es verdadera, el operador Lógico NO la hará falsa.

   If x is true, then !x is false
   If x is false, then !x is true

A continuación se muestra la implementación del operador NOT (!) :

C++

// C++ program to demonstrate the use of '!(NOT) operator'
 
#include <iostream>
using namespace std;
 
int main()
{
 
    int a = 10;
    int b = 5;
 
    if (!(a > b))
        cout << "b is greater than a" << endl;
    else
        cout << "a is greater than b" << endl;
 
    return 0;
}
 
// This code is contributed by sarajadhav12052009
Producción

a is greater than b

5. Operador Dirección de(&): Da la dirección de una variable. Se utiliza para devolver la dirección de memoria de una variable. Estas direcciones devueltas por el operador address-of se conocen como punteros porque «apuntan» a la variable en la memoria.

& gives an address on variable n
int a;
int *ptr;
ptr = &a; // address of a is copied to the location ptr. 

A continuación se muestra la implementación del operador Addressof (&) :

C++

// C++ program to demonstrate the use of 'address-of(&)'
// operator
 
#include <iostream>
using namespace std;
 
int main()
{
 
    int a;
    int* ptr;
 
    ptr = &a;
 
    cout << ptr;
 
    return 0;
}
 
// This code is contributed by sarajadhav12052009
Producción

0x7ffddcf0c8ec

6. sizeof(): este operador devuelve el tamaño de su operando, en bytes. El operador sizeof() siempre precede a su operando. El operando es una expresión, o puede ser una conversión.
A continuación se muestra la implementación del operador sizeof() :

C++

#include <iostream>
using namespace std;
 
int main()
{
    float n = 0;
    cout << "size of n: " << sizeof(n);
    return 1;
}
Producción

size of n: 4

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 *