Diferença entre int e long

Autor: Laura McKinney
Data De Criação: 1 Abril 2021
Data De Atualização: 14 Poderia 2024
Anonim
Diferença entre int e long - Tecnologia
Diferença entre int e long - Tecnologia

Contente


Os tipos de dados int e long estão entre os dois tipos de dados inteiros descritos em Java. Em Java, os tipos int e long são assinados, + ve e -ve. Java não suporta tipos int e long não assinados. A diferença fundamental entre um tipo de dados int e long é a largura de cada tipo. O tipo de dados int tem a largura de 32 bits para a variável do tipo int. Por outro lado, o tipo de dados long possui a largura de 64 bits para a variável do tipo long. O gráfico de comparação abaixo mostra algumas outras diferenças entre int e long.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para Comparaçãoint grandes
BasicO tipo de dados int é de 32 bits.O tipo de dados long é de 64 bits.
BytesSe contado em bytes, int é 4 bytes.Se contado em bytes, longo será 8 bytes.
AlcanceEm Java, o intervalo do tipo int é –2.147.483.648 a 2.147.483.647.Em Java, o intervalo do tipo long é
–9.223.372.036.854.775.808 a 9.223.372.036.854.775.807.
Palavra-chaveA palavra-chave usada para declarar uma variável do tipo int é "int".A palavra-chave usada para declarar uma variável do tipo longo é "longa".
MemóriaA memória necessária para armazenar uma variável int é menor em comparação com a longa.A memória necessária para armazenar uma variável longa é maior em comparação com int.


Definição do tipo int

Um tipo de dados int é um tipo de dados mais comumente usado que contém um valor inteiro nele. Um valor que uma variável int pode conter não é muito curto nem muito longo. Geralmente, o valor de uma variável int é usado como uma variável de loop que controla o loop ou é usado como uma variável de índice de uma matriz. O tipo de dados byte e short têm um intervalo mais curto quando comparado ao tipo de dados int, mas não podem substituir int, mesmo que o valor de uma variável int seja de um intervalo menor. A razão por trás disso é que, quando usamos o tipo de dados byte e short em uma expressão, enquanto avaliamos essa expressão, o tipo de dados byte e short são promovidos para int pelo compilador. Portanto, pode-se dizer que é melhor usar int sempre que um número inteiro for necessário.
Vamos dar uma olhada no uso do tipo de dados int.


byte a = 70; byte b = 80; int c = a * b; // nenhum erro. byte d = a + 10; // Erro no tempo de compilação.

Como você pode observar no código acima, as duas variáveis ​​de byte aeb contendo os valores 70 e 80, que é um valor válido de byte-range. Mas, o resultado intermediário de a * b; excede o limite do byte. Portanto, o compilador promove automaticamente as variáveis ​​byte, short e char para digitar int, se forem usadas em uma expressão. Agora, você pode ver que o resultado de a * b é atribuído a uma variável int que não causa nenhum erro e é compilado sem problemas, porque as variáveis ​​a e b são promovidas para o tipo int e a atribuição do tipo int para o tipo int não ' Causar o erro.

Na última linha do código, você pode ver uma expressão em que o valor 10 é adicionado a uma variável de byte 'a' e seu resultado ainda não excedeu o limite do byte. Porém, a atribuição do resultado intermediário da expressão "a + 10" à variável de byte 'd' causa um erro de tempo de compilação porque, enquanto a variável de byte de avaliação da expressão 'a' é promovida para o tipo int. E a atribuição do tipo int para digitar byte não é permitida. Portanto, isso causa um erro de tempo de compilação.

Definição do tipo longo

O tipo de dados long possui o maior intervalo e largura em comparação aos tipos de byte, curto e int. Em Java, o tipo long é do tipo inteiro assinado de 64 bits. O tipo long é usado onde o tipo int não é tão grande para armazenar o valor desejado. O intervalo de comprido é de –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807, que é bastante grande, para manter os valores maiores, como grandes números inteiros. Podemos entender o tipo long com um exemplo abaixo.

peso da classe {public static void main (String args) {int item; int wt_per_item; gramas longas; caixa longa; item = 10000000; // especifica os itens numéricos wt_per_item = 10000; // especifica o peso de um item em quilos gramas = wt_item * 1000; // converte peso em grama Box = item * gramas; // calcular o peso da caixa em gramas System.out.ln ("Number of item" + item); System.out.ln ("Peso por item" + wt_per_item + "kilos"); System.out.ln ("Peso da caixa em grama" + Caixa + "quilos"); }} Número do item 10000000 Peso por item 10000 kg Peso da caixa em gramas 100000000000000 kg

Observe a saída no código acima; o resultado calculado para o peso de uma caixa inteira contendo uma caixa contendo 10000000 itens, dos quais por item pesa 10000 quilos. O valor calculado para o peso da caixa em gramas não pode ser mantido por uma variável int. Portanto, às vezes torna-se necessário usar o tipo longo quando valores grandes devem ser computados ou mantidos.

  1. A diferença básica entre o tipo int e long é de sua largura, em que int é 32 bits e long é 64 bits.
  2. Os tipos int e long quando contados em bytes, em vez de bits, o tipo int é 4 bytes e o tipo long é apenas duas vezes se o tipo int, ou seja, 8 bytes.
  3. Em Java, o intervalo do tipo int é de –2.147.483.648 a 2.147.483.647, enquanto o intervalo do tipo long é de –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807, que é muito maior que o tipo int.
  4. A palavra-chave usada para declarar uma variável do tipo int é "int". Por outro lado, a palavra-chave usada para declarar a variável do tipo long é "long".
  5. Geralmente, a memória necessária para armazenar o valor do tipo int é menor em comparação com a longa.

Conclusão:

Ao escrever o código, se houver a necessidade de um valor de intervalo médio, você poderá usar o tipo int, mas quando a saída produzida por qualquer expressão for maior ou os valores maiores estiverem sendo usados ​​para o cálculo, a variável do tipo longo deverá ser usada para manter os valores.