No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de C++ B谩sico

Curso de C++ B谩sico

Diana Mart铆nez

Diana Mart铆nez

Operadores

10/18
Recursos

Aportes 36

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

que bueno que ya al fin renovaron los cursos de C++

Les dejo mi c贸digo 馃槂

#include <iostream>

using namespace std;

int main() {
  const int a = 45;
  const int b = 30;
  const int NUMBERS[] = {24, 40, 7};

  const int sum = a + b;
  const int res = a - b;
  const int div = a / b;
  const bool mayo = a > b;

  cout << sum << endl;
  cout << res << endl;
  cout << div << endl;
  cout << mayo << endl;
  cout << sizeof(NUMBERS) << endl;
}

En la clase, muestran los operadores comunmente utilizados. Hay muchos mas 馃槷
.
Pueden checkear ac谩 para ver todos los operadores integrados en C**: https://docs.microsoft.com/es-es/cpp/cpp/cpp-built-in-operators-precedence-and-associativity?view=msvc-160
.
Nota: Hay tanto b谩sicos como avanzados

Pensaba que sizeof() era una funcion en vez de un operador

En este caso como la lista (array) es de tipos int, tambi茅n podemos calcular la cantidad de elementos haciendo:

sizeof(edades) / sizeof(int)

y si fuera una lista de doubles:

sizeof(lista) / sizeof(double)

Operadores

En C++ existen 5 tipos de operadores:

  1. Aritmeticos: Operadores matematicos que nos permiten hacer cosas como sumar, restar, etc. Los m谩s usados son +, -, *, /, %
    Ejemplo:
#include <iostream>
using namespace std;
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 cout << a + b;

} 
  1. Comparaci贸n: Como lo dice su nombre nos sirve para comparar dos datos y verificar la veracidad de esta comparaci贸n, la cual nos devuelve su resultado a traves de un dato boleano. Es decir, 1 para verdadero y 0 para falso. Los m谩s usados son == , >, <, >=, <=.
    Ejemplo:
#include <iostream>
using namespace std; 
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 bool c = a < b;
聽 聽 cout << c;

} 

Como podemos ver, usamos la variable c para verificar si 鈥渁 < b鈥. Lo cual es verdadero, entonces se imprime un 1 en pantalla.

  1. Asignaci贸n: Sirven para modificar el valor de una variable. Los m谩s usados son =, +=, -=, *=, /=, ++, 鈥 ```
#include <iostream>
using namespace std;
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 a += 1;
聽 聽 cout << a;

} 

En este caso usamos el operador 鈥+=鈥, el cual quiere decir, al valor de nuestra variable sumale cierta cantidad. Entonces, se imprime 3 en pantalla.

  1. Logicos: Son operadores que realizar operaciones booleanas. Es decir, al igual que los de comparaci贸n, sirven para ver la veracidad de una afirmaci贸n escrita con estos operadores. Los m谩s usados son &&, ||, ! ```

  2. Otros: Operadores de otro tipo. Los m谩s usados son sizeof, <<, >> ```

#include <iostream>
using namespace std;
int main() {

聽 聽 int edades[] = {24, 40, 7};
聽 聽 cout << sizeof(edades)/sizeof(edades[0]);
聽 聽 
}

Usamos el operador sizeof, el cual nos da el valor del tama帽o de cierto dato en bytes. Para este caso, tomamos el tama帽o de la variable completa tipo lista y dividimos este valor por uno de sus elementos individuales.

Wow! es incre铆ble cuan complejo es el solo saber cuantos elementos tiene un array con c++.

Con nuestro amigo javascript solo seria array.length y listo xD

Tarea

false = 0
true = 1

Fibonacci

No pod铆a falta mi fibonacci al aprender un nuevo lenguaje de programaci贸n. 馃槑

#include <iostream>

using namespace std;

int main() {
  int a = 0;
  int b = 1;

  const int sequence_length = 10;

  for (int i = 0; i < sequence_length; i++)
  {
    cout << a << endl;
    int temp = a;
    a = b;
    b = temp + b;
  }

  return 0;
}

My code: ```c# #include <iostream> int main() { const int A = 85; const int B = 15; int r = 5; float heights[] = {1.52, 1.68, 1.90, 1.75}; // Arithmetics std::cout << A + B << std::endl; // Comparation std::cout << (A < B) << std::endl; // Assignation r += 5; std::cout << r << std::endl; // Logic bool b = (r == 10) && (A < 100); std::cout << b << std::endl; // Others std::cout << sizeof(heights) << std::endl; return 0; } ```
![](https://static.platzi.com/media/user_upload/image-4fd9bfc0-1e44-4914-89de-ecd548f6b663.jpg)
\#include \<iostream> int main() { int a = 10; int b = 5; // Operadores aritm茅ticos int suma = a + b; int resta = a - b; int multiplicacion = a \* b; int division = a / b; int modulo = a % b; // Operadores de asignaci贸n int c = 15; c += a; // c = c + a; c -= b; // c = c - b; c \*= a; // c = c \* a; c /= b; // c = c / b; c %= a; // c = c % a; // Operadores de comparaci贸n bool igual = (a == b); bool diferente = (a != b); bool mayorQue = (a > b); bool menorQue = (a < b); bool mayorIgual = (a >= b); bool menorIgual = (a <= b); // Operadores l贸gicos bool andLogico = (igual && mayorQue); bool orLogico = (diferente || menorQue); bool notLogico = !igual; // Operadores bit a bit int x = 5; // 0000 0101 int y = 3; // 0000 0011 int andBitwise = x & y; // 0000 0001 (AND) int orBitwise = x | y; // 0000 0111 (OR) int xorBitwise = x ^ y; // 0000 0110 (XOR) int complementoBitwise = ~x; // 1111 1010 (NOT) // Operadores de desplazamiento int desplazamientoIzquierda = a << 2; // a \* 2^2 int desplazamientoDerecha = a >> 1; // a / 2^1 std::cout << "Resultado de operaciones: " << std::endl; std::cout << "Suma: " << suma << std::endl; std::cout << "Resta: " << resta << std::endl; std::cout << "Multiplicacion: " << multiplicacion << std::endl; std::cout << "Division: " << division << std::endl; std::cout << "Modulo: " << modulo << std::endl; // ... (resto de los resultados de operadores) return 0; }

Se que probablemente alguno tenga la misma curiosidad que tuve yo sobre dividir entre dos numeros enteros y pretender como resultado un decimal.

La verdad es que es una idea equivocada que bueno, apenas me vengo a enterar.
Sucede que si realizas dicha division dara como resultado 0 entero.

int a = 2;
int b = 3;
double c = a/b;
cout << c;

Esto es debido a que en C++ no realiza las operaciones con tipos distintos de variables; el convierte una de la dos variables para tener un mismo tipo de variable.

Por eso, para obtener un resultado mas acorde a los numeros decimales, debemos saber si existe la posibilidad de puedan haber numeros decimales y convertir ambas o una de las variables en double o float.

int a = 2;
double b = 3;
double c = a/b;

cout << c;

C贸digo Aplicando todos los operadores de la clase anterior :3 鉂わ笍

#include <iostream>

using namespace std;

int main() {
    //Datos
    int a = 2;
    int b = 3;
    int c = 5;
    int d = 5;
    int e = 5;
    int f = 5;
    int g = 5;
    int h = 5;
    int edades[] = {24, 40, 7};
    bool logi[] = {true, false};
    int yy,oo,no_1;
    //Operadores Aritm茅ticos
    int arit_1 = a + b;   //Suma    
    int arit_2 = a - b;   //Resta
    int arit_3 = a * b;   //Multiplicaci贸n
    float arit_4 = a / b; //Divisi贸n
    float arit_5 = a % b; //Porcentaje
    cout << "Operadores Aritm茅ticos" << endl;
    cout << arit_1 << endl; //Resul de Suma
    cout << arit_2 << endl; //Resul de Resta
    cout << arit_3 << endl; //Resul de Multiplicaci贸n
    cout << arit_4 << endl; //Resul de Divisi贸n
    cout << arit_5 << endl; //Resul de Porcentaje
    //Operadores De Comparaci贸n
    bool comp_1 = a == b; //Igualaci贸n
    bool comp_2 = a > b;  //Mayor
    bool comp_3 = a < b;  //Menor
    bool comp_4 = a >= b; //Mayor o Igual
    bool comp_5 = a <= b; //Menos o Igual
    cout << "Operadores De Comparaci贸n" << endl;
    cout << comp_1 << endl; //Resul de Igualaci贸n
    cout << comp_2 << endl; //Resul de Mayor
    cout << comp_3 << endl; //Resul de Menor
    cout << comp_4 << endl; //Resul de Mayor o Igual
    cout << comp_5 << endl; //Resul de Menos o Igual
    //Operadores De Asignaci贸n
    c += 1; //Incremento en X
    d -= 1; //Decremento en X
    e *= 2; //Multiplicaci贸n en X
    f /= 5; //Divisi贸n en X
    g ++ ;  //Incremento en 1
    h -- ;  //Decremento en 1
    cout << "Operadores De Asignaci贸n" << endl;
    cout << c << endl; //Resul de Incremento en X
    cout << d << endl; //Resul de Decremento en x
    cout << e << endl; //Resul de Multiplicaci贸n en X
    cout << f << endl; //Resul de Divisi贸n en X
    cout << g << endl; //Resul de Incremento en 1
    cout << h << endl; //Resul de Decremento en 1
    //Operadores L贸gicos
    yy = logi[1] && logi[2]; //Y
    oo = logi[1] || logi[2]; //O
    no_1 = !logi[1];         //No
    cout << "Operadores L贸gicos" << endl;
    cout << yy << endl;   //Resul de Y
    cout << oo << endl;   //Resul de O
    cout << no_1 << endl; //Resul de No
    //Otros
    cout << "Otros" << endl;
    cout << sizeof(a) << endl;          //Calcula cuando bytes almacena
    cout << sizeof(edades) / sizeof(a); //Ejemplo para saber cuando datos hay en una lista si son del mismo tipo
}

aqu铆 les dejo un c贸digo que estuve haciendo experimentando con c++

#include <iostream>
#include <string>

using namespace std;

int main() 
{
    
    string str = "holiwis";
    cout << str << endl;
    

    int listaEdades[] = {18, 19,20,21,22,23};
    int size = sizeof(listaEdades) / sizeof(listaEdades[0]);
    
    for (int i =0; i < size ; i++)
    {
        cout<< listaEdades[i]<<endl;
    }

    
    
}

Sizeof nos da el valor en bytes de una variable, lista o constante, por lo que si queremos saber cuantos valores tiene una lista (en ejemplos de listas enormes que no puedas contar uno a uno) podemos dividir el tamannio total de la lista en bytes por uno de sus valores dentro de la lista, de esa manera nos devolvera el total de valores dentro de ella.

Hay un tipo de operador poco mencionado, el cual es el operador bit a bit. Que nos permite comparar cada bit de su primer operando con el bit correspondiente de su segundo operando. Suena s煤per confuso, pero ah铆 est谩n 馃榿

Un verdadero gusto volver, regresar a las bases 馃槂 con C++ y tener tb posibilidad de conocer a la comunidad que se interesa por este lenguaje, soy de Argentina, y estoy a disposici贸n, 茅xitos!.

Aqui esta mi aporte, un poco de todo

#include <iostream>

using namespace std;

int main(){

    const int a = 20;
    const int b = 5;
    const int c = 32;
    const int d = 14;
    int numeros[] = {20,5,14,32,10,45};

    cout << "SUMA" << endl;
    cout << a + c + d << endl;
    cout << c + b << endl;
    
    cout << "RESTA" << endl;
    cout << a - d - b << endl;
    cout << b - c << endl;

    cout << "MULTIPLICACION" << endl;
    cout << a * b * c << endl;
    cout << d * c * a << endl;

    cout << "DIVISION" << endl;
    cout << a / b << endl;
    cout << float(c) / float(d) << endl;

    cout << "CONTADOR DE LA LISTA" << endl;
    cout << sizeof(numeros)/4 << endl;


}

Para que se muestre true / false, en vez de 1 / 0

#include <iostream>

using namespace std;

int main()
{
	int a = 2;
	int b = 3;
	bool c = false;

	c = a < b;

	cout << boolalpha << c << endl;
}

**C脫DIGO DE OPERADORES EJEMPLOS Y ANOTACI脫NES: **

#include <iostream>
using namespace std;

int main(){
    //OPERADOR ARITMERICO
    int x = 12;
    float y = 3.1416;
    float z = x - y;
    cout << z << endl;

    //OPERADOR RELACIONALES DE TRUE AND FALSE
    bool relations = x > y;
    cout << relations << endl;
    // Imprime un 0 o 1 booleano true= 1 en binario o false = 0 en binario porque C++ es un lenguaje de bajo nivel 

    //OPERADORES DE ASIGNACI脫N 
    /*Asignan un nuevo valor a la variable apartir del valor anterior m谩s un cambio que queramos agregar */
    x *= 10; // la variable x por 10  = 120 
    cout << x << endl;

    //Size Of
    /*Son operadores especiales dentro de C++ que nos perimite saber cosas sobre las variables.
    En este caso size of obtiene el tama帽o en bits de un valor de un dato*/
    int b =  2;
    cout << "El tamano del valor de 2 es de: " << sizeof(b) << " bits" <<endl; // Esto es util por que sizeof nos permite realizar alguna operaciones por ejemplo con listas 
    //Ejemplo de utilidad de sizeof: si yo quisiera saber cuantos elemento tiene una lista podr铆a utlizar sizeof y una operaci贸n de divisi贸n para obtener cuantos elementos tiene de forma inteligente a continuaci贸n de la realizaci贸n de esto:
    int ages_list[] = {12, 18, 32, 4, 57};
    //驴Cu谩ntos elementos tiene la lista ages_list?
    cout << "Cantidad de la lista: " << sizeof(ages_list) / sizeof(ages_list[0]) << " elementos" << endl; //obtengo 5 elementos 
}

Existe otro operador que es << y >> que sirven para correr los bits de una variable. Por ejemplo, si en una variable i tengo el numero 5 (en binario 00000101) y ejecuto:

 n =  i << 2;

el operador << asigna a n 20 (que es 00010100 en binario). Por el contrario >> corre los bits a la derecha.

les dejo mi codigo con algunas anotaciones que agregue,agregue algunas mas que me dio un profesor en la carrera

#include <iostream> //in out stream
#include <stdio.h> //Standard Input and Output
#include <conio.h> //conplementative Input and Output
#include <stdlib.h> //Standard Library esta libreria revisa la sintaxis del codigo

using namespace std;

int main(){
    int a = 2; //se asigna a la letra "a" el valor de "2"
    int b = 3; //se asigna a la letra "b" el valor de "b"
    //int c = a + b; //se asigna a la letra "c" un resultado de un operador aritmetico de 2 valores
    /*bool c = a > b; //se cambio el tipo de dato a booleano ya que se convirtio en una comparacion de verdadero o falso
    representado por 1(T) y 0(F) */
    int c = a+=1; //se esta pidiendo que al valor "a" se le sea sumado un numero, en este caso el "1"
    //este tambien puede representarse como "a += 1;" para no asignar una variable "c"
    //cout << c; //se pide que nos arroje el valor de "c"
    int edades[] = { 23, 23, 4545, 345, 234 };
    //sizeof nos mostrara cuanto tama帽o usa una variable
    cout << sizeof(edades) / sizeof(0); /*sizeof esta contando todos los valores de la lista "edades" y lo divide entre otro
     sizeof para mostrar cuantos valores hay dentro de la tabla */

}
#include <iostream>

using namespace std;

int main()
{
    int a=2, b=3;
    int edades[]={24, 40, 7};
    cout <<sizeof(edades)/sizeof(edades[0])<<" Elementos almacenados"<<endl;
    return 0;
}

comparto mi codigo

#include <iostream>

using namespace std;

int main() {
    int op1 = 5;
    int op2 = 3;

    int suma           = op1 + op2;
    int resta          = op1 - op2;
    int multiplicacion = op1 * op2;
    int division       = op1 / op2;
    int residuo        = op1 % op2;

    cout << "operaciones aritmeticas basicas" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "suma           " << op1 << " + " << op2 << " = " << suma << endl;
    cout << "resta          " << op1 << " - " << op2 << " = " << resta << endl;
    cout << "multiplicacion " << op1 << " * " << op2 << " = " << multiplicacion << endl;
    cout << "division       " << op1 << " / " << op2 << " = " << division << endl;
    cout << "residuo        " << op1 << " % " << op2 << " = " << residuo << endl;
    cout << endl;
    cout << endl;

    bool menorQue      = op1 <  op2;
    bool menorIgualQue = op1 <= op2;
    bool igual         = op1 == op2; 
    bool diferente     = op1 != op2;   
    bool mayorQue      = op1 >  op2;
    bool mayorIgualQue = op1 >= op2;

    cout << "operaciones de comparacion" << endl;
    cout << "bool = true se imprime como 1 y bool = false se escribe como 0" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "menor     " << op1 << " <  " << op2 << " = " << menorQue << endl;
    cout << "menor que " << op1 << " <= " << op2 << " = " << menorIgualQue << endl;
    cout << "igual     " << op1 << " == " << op2 << " = " << igual << endl;
    cout << "diferente " << op1 << " != " << op2 << " = " << diferente << endl;
    cout << "mayor     " << op1 << " >  " << op2 << " = " << mayorQue << endl;
    cout << "mayor que " << op1 << " >= " << op2 << " = " << mayorIgualQue << endl;
    cout << endl;
    cout << endl;

    int op10  = 10;
    int op10Inicial = op10;
    op10++;

    int op20  = 20;
    int op20Inicial = op20;
    op20--;

    int op30  = 30;
    int op30Inicial = op30;
    op30 += 8;
    
    int op40  = 40;
    int op40Inicial = op40;
    op40 -= 8;

    int op50  = 50;
    int op50Inicial = op50;
    op50 *= 8;

    int op60  = 60;
    int op60Inicial = op60;
    op60 /= 8;

    int op70  = 70;
    int op70Inicial = op70;
    op70 %= 8;

    cout << "operaciones de asignacion" << endl;
    cout << "autoincremento       inicial = " << op10Inicial << "    op10++    da como resultado: " << op10 << endl;
    cout << "autodecremento       inicial = " << op20Inicial << "    op20--    da como resultado: " << op20 << endl;
    cout << "sume y asigne        inicial = " << op30Inicial << "    op30 += 8 da como resultado: " << op30 << endl;
    cout << "reste y asigne       inicial = " << op40Inicial << "    op40 -= 8 da como resultado: " << op40 << endl;
    cout << "multiplique y asigne inicial = " << op50Inicial << "    op50 *= 8 da como resultado: " << op50 << endl;
    cout << "divida y asigne      inicial = " << op60Inicial << "    op60 /= 8 da como resultado: " << op60 << endl;
    cout << "residuo y asigne     inicial = " << op70Inicial << "    op70 %= 8 da como resultado: " << op70 << endl;
    cout << endl;
    cout << endl;
    
    
    
    int numeros[] = {1, 1, 2, 3, 5, 8, 13, 21};

    cout << "operador sizeof()" << endl;
    cout << "numeros[] = {1, 1, 2, 3, 5, 8, 13, 21}" << endl;
    cout << endl;
    cout << "sizeof numeros[0]    : " << sizeof(numeros[0]) << endl;
    cout << "sizeof numeros       : " << sizeof(numeros) << endl;
    cout << "elementos en  numeros: " << sizeof(numeros) / sizeof(numeros[0]) << endl;
}   

Hola Diana, gracias por la explicaci贸n de como se obtiene el tama帽o de un arreglo, en los cursos de C, ya hab铆a visto el operador sizeof pero no sabia el porque se hac铆a la divisi贸n.

Hola compa帽eros por si les sirve les dejo esta pagina sobre el lenguaje c++ te explica muy bien cosas que no entendemos aqui en la clase. Saludos https://www2.eii.uva.es/fund_inf/cpp/temas/1_introduccion/introduccion.html

How to know the size of a C++ list

Dejo un c贸digo con lo visto en clase y unos operadores m谩s.

#include <iostream>

using namespace std;

int main() {

    //Se declaran las variables como 2 enteros
    int n1 = 2;
    int n2 = 3;

    cout << "El primer valor es " << n1 << endl;
    cout << "El segundo valor es " << n2 << endl;

    //Operadores aritm茅ticos
    //cout << n1 + n2 << endl;    Se puede hacer la suma en cout   
    int r1 = n1 + n2;
    cout << "La suma de las variables da como resultado " << r1 << endl;

    r1 = n1 * n2;
    cout << "La multiplicaci贸n de las variables da como resultado " << r1 << endl;

    r1 = n1 - n2;
    cout << "La resta de las variables da como resultado " << r1 << endl;

    //Operadores de comparaci贸n
    bool r2 = n1 < n2;
    cout <<"驴Es "<< n1 <<" < " << n2 << " ? La respuesta da "<< r2 << endl;

    r2 = n1 > n2;
    cout <<"驴Es "<< n1 <<" > " << n2 << " ? La respuesta da "<< r2 << endl;
    
    r2 = n1 == n2;
    cout <<"驴Es "<< n1 <<" igual a " << n2 << " ? La respuesta da "<< r2 << endl;

    //Operadores de asignaci贸n
    n1 += 1;
    cout <<"El nuevo valor de n1 es "<< n1 << endl;

    //sizeof() nos permite obtener el tama帽o en bytes de un dato
    cout << "La variable n1 ocupa " << sizeof(n1) << " bytes de tama帽o"<< endl;

    //Calcular cu谩ntos elementos tiene una lista
    int edades[] = {24, 40, 7};
    int n_elementos = sizeof(edades) / sizeof(edades[0]);
    cout << "La lista edades tiene " <<n_elementos << " elementos " << endl;

}

sizeof(lista)/sizeof(lista[0]) cumple la misma funcion que
strlen(lista) pero este solo funciona en una lista de carateres
sizeof(lista)/sizeof(lista[0]) es solo para una lista de nuemros

Utilice los siguientes operadores: asignaci贸n (=,*=), l贸gicos (&&,||,!=) y aritm茅tico (%).