Qual é a diferença entre os tipos de dados short int e long int e float tipo de dados double?


Melhor resposta

Diferença P / B curto e longo int

Bem, a diferença é muito pequena, mas pode ser muito importante em alguns casos. Ao programar, o segundo objetivo mais importante (depois de fazer o programa fazer o que deve) é economizar memória para que o programa seja executado o mais rápido possível. É aqui que entra a sua palavra-chave “long”. Long é um número inteiro, mas o inteiro não é exatamente um longo entendeu? Também existe um “short”. Agora, geralmente, eles são referenciados com int depois deles, mas não é obrigatório. O principal a diferença entre eles é o tamanho. Dependendo do computador, mas na maioria dos casos um “curto” tem dois bytes, um “longo” tem quatro bytes e um “int” pode ter dois ou quatro bytes. É importante que você declare isso em programas curto ou longo se você souber exatamente o quão grande o número vai ser e com que frequência ele será modificado para que você possa economizar o máximo de memória possível. Agora, no que diz respeito ao intervalo que depende do tamanho do int se tem dois ou quatro bytes. Aqui está uma tabela para fazer referência a tamanhos e valores.

intervalo de tamanho do tipo

short int 2 bytes -32.768 a 32.767

long int 4 bytes -2.147.483.648 a 2.147.483.647

int (16 bits) 2 bytes -32.768 a 32.767

int (32 bits) 4 bytes -2.147 , 483.648 a 2.147.483.647

Diferença P / B Float e Double

Números de ponto flutuante, também conhecidos como reais números, são usados ​​ao avaliar expressões que requerem precisão fracionária. Por exemplo, cálculos como raiz quadrada ou transcendental como seno e cosseno resultam em um valor cuja precisão requer um tipo de ponto flutuante. Java implementa o conjunto padrão (IEEE-754) de tipos e operadores de ponto flutuante. Existem dois tipos de tipos de ponto flutuante, float e double, que representam números de precisão simples e dupla, respectivamente. Sua largura e intervalos são mostrados aqui:

Largura do nome no intervalo de bits

double 64 1 .7e – 308 a 1.7e + 308

float 32 3 .4e – 038 a 3.4e + 038

Cada um destes os tipos de ponto flutuante são examinados a seguir.

float

O tipo float especifica um valor de precisão única que usa 32 bits de armazenamento. A precisão simples é mais rápida em alguns processadores e ocupa metade do espaço da precisão dupla, mas se tornará imprecisa quando os valores forem muito grandes ou muito pequenos. Variáveis ​​do tipo float são úteis quando você precisa de um componente fracionário, mas não requerem um grande grau de precisão. Por exemplo, float pode ser útil ao representar dólares e centavos.

Aqui estão alguns exemplos de variáveis ​​float declarações:

float hightemp, lowtemp;

double

A precisão dupla, indicada pela palavra-chave double, usa 64 bits para armazenar um valor. A precisão dupla é na verdade mais rápida do que a precisão simples em alguns processadores modernos que foram otimizados para matemática de alta velocidade cálculos. Todas as funções matemáticas transcendentais, como sin (), cos () e sqrt (), retornam valores duplos. Quando você precisa manter a precisão em muitos cálculos iterativos ou está manipulando números de grande valor, o dobro é a melhor escolha .

Aqui está um programa curto que usa variáveis ​​duplas para calcular a área de um círculo:

// Calcule th e área de um círculo.

class Area {

public static void main (String args []) {

double pi, r, a;

r = 10,8; // raio do círculo

pi = 3.1416; // pi, aproximadamente

a = pi * r * r; // compute area

System.out.println (“A área do círculo é” + a);

}

}

Resposta

Como de costume, depende . Os tamanhos exatos de shorts e longos são deixados para o implementador do compilador, que selecionará as representações que melhor se adaptam à arquitetura de destino. É possível (mas improvável) que sizeof(short) == sizeof(int) == sizeof(long), o que significa que são todos iguais. A única garantia que você tem é que o tamanho de um short é menor ou igual a o tamanho de um longo. Para tamanhos exatos, use o cabeçalho ; ou para abstrair os detalhes feios, use o std::numeric\_limits modelo de .

Raciocínio semelhante se aplica a float e duplo, mas aqui é mais provável que float represente um número de ponto flutuante de precisão única (4 bytes) e double será um número de ponto flutuante de precisão dupla (8 bytes).Muito software foi escrito que assume IEEE 754, então os escritores do compilador são menos propensos a se desviar das regras.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *