Diferença entre int e long
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.
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para Comparação | int | grandes |
---|---|---|
Basic | O tipo de dados int é de 32 bits. | O tipo de dados long é de 64 bits. |
Bytes | Se contado em bytes, int é 4 bytes. | Se contado em bytes, longo será 8 bytes. |
Alcance | Em 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-chave | A 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ória | A 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.
- A diferença básica entre o tipo int e long é de sua largura, em que int é 32 bits e long é 64 bits.
- 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.
- 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.
- 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".
- 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.