Mejor respuesta
Diferencia B / w Short y Long int
Bueno, la diferencia es muy pequeña pero puede ser muy importante en algunos casos. Al programar, el segundo objetivo más importante (después de hacer que el programa haga lo que se supone que debe hacer) es ahorrar memoria para que el programa se ejecute lo más rápido posible. Aquí es donde entra la palabra clave «long». ¿Long es un número entero, pero el número entero no es exactamente un término largo? También hay un «short». Ahora, por lo general, se hace referencia con int después de ellos, pero no es obligatorio. la diferencia entre ellos es su tamaño. Dependiendo de la computadora, pero en la mayoría de los casos, un «corto» es de dos bytes, un «largo» es de cuatro bytes y un «int» puede ser de dos o cuatro bytes. Es importante que declares corto o largo si sabe exactamente qué tan grande será el número y con qué frecuencia se va a modificar para que pueda ahorrar la mayor cantidad de memoria posible. Ahora, en cuanto al rango que depende del tamaño del int si es de dos o cuatro bytes. Aquí hay una tabla para hacer referencia a tamaños y valores.
tipo rango de tamaño
short int 2 bytes -32,768 a 32,767
long int 4 bytes -2,147,483,648 a 2,147,483,647
int (16 bit) 2 bytes -32,768 a 32,767
int (32 bits) 4 bytes -2,147 , 483,648 a 2,147,483,647
Diferencia B / n Float y Double
Números de coma flotante, también conocidos como reales números, se utilizan al evaluar expresiones que requieren precisión fraccionaria. Por ejemplo, cálculos como raíz cuadrada, o trascendentales como seno y coseno, dan como resultado un valor cuya precisión requiere un tipo de coma flotante. Java implementa el conjunto estándar (IEEE-754) de tipos y operadores de punto flotante. Hay dos tipos de tipos de coma flotante, flotante y doble, que representan números de precisión simple y doble, respectivamente. Su ancho y rangos se muestran aquí:
Ancho del nombre en rango de bits
double 64 1 .7e – 308 a 1.7e + 308
float 32 3 .4e – 038 a 3.4e + 038
Cada uno de estos Los tipos de punto flotante se examinan a continuación.
float
El tipo float especifica un valor de precisión simple que usa 32 bits de almacenamiento. La precisión simple es más rápida en algunos procesadores y ocupa la mitad de espacio que la precisión doble, pero se volverá imprecisa cuando los valores sean muy grandes o muy pequeños. Las variables de tipo float son útiles cuando se necesita un componente fraccionario, pero no requieren un gran grado de precisión. Por ejemplo, float puede ser útil cuando se representan dólares y centavos.
Aquí hay algunos ejemplos de variables float declaraciones:
float hightemp, lowtemp;
doble
La precisión doble, como se indica con la palabra clave double, utiliza 64 bits para almacenar un valor. La precisión doble es en realidad más rápida que la precisión simple en algunos procesadores modernos que han sido optimizados para operaciones matemáticas de alta velocidad. cálculos. Todas las funciones matemáticas trascendentales, como sin (), cos () y sqrt (), devuelven valores dobles. Cuando necesita mantener la precisión en muchos cálculos iterativos o manipula números de gran valor, el doble es la mejor opción .
Aquí hay un programa corto que usa variables dobles para calcular el área de un círculo:
// Calcular th e área de un círculo.
class Area {
public static void main (String args []) {
double pi, r, a;
r = 10,8; // radio del círculo
pi = 3.1416; // pi, aproximadamente
a = pi * r * r; // calcular el área
System.out.println («El área del círculo es» + a);
}
}
Respuesta
Como de costumbre, depende . Los tamaños exactos de cortos y largos se dejan al implementador del compilador, quien seleccionará las representaciones que mejor se adapten a la arquitectura de destino. Es posible (pero poco probable) que sizeof(short) == sizeof(int) == sizeof(long)
, lo que significa que todos son iguales. La única garantía que tiene es que el tamaño de un corto es menor o igual que el tamaño de un largo. Para tamaños exactos, utilice el encabezado
; o para abstraer los detalles desagradables, use la plantilla std::numeric\_limits
de
.
Un razonamiento similar se aplica a float y doble, pero aquí es más probable que float
represente un número de punto flotante de precisión simple (4 bytes) y double
un número de coma flotante de doble precisión (8 bytes).Se ha escrito demasiado software que asume IEEE 754, por lo que es menos probable que los escritores de compiladores se desvíen de las reglas.