Un int es un número entero como 47 sin un punto decimal. No puede tener 4.5 bebés o bucle 32.9 veces. Puede tener $ 25.76 si usa un flotador. Entonces, cuando creas tu programa, debes decidir qué tipo usar.
¿Esto es lo que hacen algunos lenguajes de script? Debido a que es ineficiente, los flotadores ocupan más memoria y generalmente son más lentos que los ints. Además, no puede comparar fácilmente dos flotadores para ver si son iguales como lo hace con las entradas.
Para manipular números, debe almacenarlos en la memoria. Debido a que el valor se puede cambiar fácilmente, se llama variable.
los compilador que lee su programa y lo convierte en código de máquina necesita saber de qué tipo es, es decir, si es int o flotante, por lo que antes de que su programa use una variable, debe declarar eso.
Notarás que la variable Contador está establecida en 0. Esta es una inicialización opcional. Es una muy buena práctica inicializar variables. Si no inicializa y luego los usa en el código sin haber establecido un valor inicial, la variable comenzará con un valor aleatorio que puede 'romper' su código. El valor será lo que haya en la memoria cuando se cargó el programa.
¿Cuál es el número más grande que un int puede almacenar?. Bueno, depende del tipo de UPC pero generalmente se acepta como 32 bits. Debido a que puede contener casi tantos valores negativos como positivos, el rango de valores es +/- 2-32 a 232 o -2,147,483,648 a +2,147,483,647.
Esto es para un int firmado, pero también hay un no firmado int que tiene cero o positivo. Tiene un rango de 0 a 4,294,967,295. Solo recuerda - los ints sin signo no necesitan un signo (como + o -1) delante de ellos porque siempre son positivos o 0.
Hay un tipo int más corto, casualmente llamado short int que usa 16 bits (2 bytes). Esto contiene números en el rango de -32768 a +32767. Si usa una gran cantidad de entradas, posiblemente pueda ahorrar memoria usando entradas cortas. No será más rápido, a pesar de ser la mitad del tamaño. Las CPU de 32 bits obtienen valores de la memoria en bloques de 4 bytes a la vez. Es decir. 32 bits (de ahí el nombre: CPU de 32 bits). Por lo tanto, obtener 16 bits aún requiere una recuperación de 32 bits.
Hay un 64 bit más largo llamado largo largo Cía. Algunos compiladores de C ++, aunque no admiten ese tipo, usan directamente un nombre alternativo, p. tanto Borland como Microsoft usan _int64. Esto tiene un rango de -9223372036854775807 a 9223372036854775807 (firmado) y 0 a 18446744073709551615 (sin firmar).
A menos que esté haciendo programación científica con números muy grandes o pequeños, solo usará dobles para una mayor precisión. Los flotadores son buenos para 6 dígitos de precisión, pero los dobles ofrecen 15.
Considere el número 567.8976523. Es un valor flotante válido. Pero si lo imprimimos con este código a continuación, puede ver la falta de precisión que aparece. El número tiene 10 dígitos, pero se almacena en una variable flotante con solo seis dígitos de precisión.
Ver Acerca de entrada y salida para obtener detalles sobre cómo funciona cout y cómo usar la precisión. Este ejemplo establece la precisión de salida a 8 dígitos. Desafortunadamente, los flotantes solo pueden contener 6 y algunos compiladores emitirán una advertencia sobre la conversión de un doble en un flotante. Cuando se ejecuta, esto se imprime 567.89764
Si cambia la precisión a 15, se imprime como 567.897644042969. Toda una diferencia! Ahora mueva el punto decimal dos a la izquierda para que el valor sea 5.678976523 y vuelva a ejecutar el programa. Esta vez sale 5.67897653579712. Esto es más preciso pero aún diferente.
Si cambia el tipo de valor a doble y la precisión a 10, imprimirá el valor exactamente como se define. Como regla general, los flotantes son útiles para números pequeños, no enteros, pero con más de 6 dígitos, debe usar dobles.
Escribir software no sería muy útil si no pudieras sumar, restar, etc. Aquí está el ejemplo 2.
Además de la suma, puedes hacer resta, multiplicación y división. Simplemente use + para la suma, - para la resta, * para la multiplicación y / para la división.
Con los flotantes, no tiene control sobre cuántos puntos decimales se muestran a menos que establezca la precisión como se muestra anteriormente.
Ahora el ancho, la alineación, el número de lugares decimales y los signos se pueden establecer mediante cout objeto y iomanip Incluye funciones de archivo.
Miles de separadores son un poco más complicados. Se configuran desde el entorno local de una PC. Una configuración regional contiene información relevante para su país, como símbolos de moneda y punto decimal y separadores de miles. En el Reino Unido y Estados Unidos, el número 100.98 usa un punto decimal. como punto decimal, mientras que en algunos países europeos es una coma, por lo que € 5,70 significa un precio de 5 euros y 70 centavos.
crea un objeto mpunct que es una referencia a un moneypunct clase de plantilla Esto tiene información sobre el entorno local especificado; en nuestro caso, el miles_sep () El método devuelve el carácter utilizado para el separador de miles.
Nota Parece haber discrepancias entre los diferentes compiladores sobre cómo cout.imbue se comporta En Visual C ++ 2005 Express Edition, esto incluía separadores. ¡Pero el mismo código con Microsoft Visual C ++ 6.0 no lo hizo!
Si utiliza cualquiera de estos dos modos de formato a través de cout.setf luego precisión() establece el número de lugares decimales después del punto decimal (no el número total de dígitos) pero pierde el formato de miles. También ceros finales (como fueron habilitados por ios_base:: showpoint ) se habilita automáticamente sin necesidad punto de vista.
Es de esperar algo así como un valor de 11.0909090909. De hecho, el valor es 11. ¿Por qué es esto? porque el expresión en el lado derecho (conocido como rvalue) es entero / entero. Por lo tanto, utiliza la aritmética de enteros que arroja la parte fraccional y asigna 11 a f. Cambiándolo a
En C, no existe un tipo como bool. Las expresiones en C se basaron en que un cero es falso o un no cero es verdadero. En C ++ el tipo bool puede tomar los valores cierto o falso. Estos valores siguen siendo equivalentes a 0 y 1. En algún lugar del compilador tendrá un
¡O al menos actúa de esa manera! Las dos líneas siguientes son válidas sin conversión, por lo que detrás de escena, los bools se convierten implícitamente en ints e incluso se pueden aumentar o disminuir, aunque esta es una práctica muy mala.
El if todavía hará el if ya que la variable incorrecta no es cero pero es un código incorrecto y debe evitarse. Una buena práctica es usarlos como están destinados. si (! v) es válido C ++ pero prefiero el más explícito si (v! = 0). Eso, sin embargo, es una cuestión de gustos, no una debe hacer directiva.
es mejor para el compilador detectar errores en tiempo de compilación que el usuario en tiempo de ejecución