Tipos Primitivos... Na prática qual é o range de cada um? Há diferença se usar ou não L no long
2 respostas
A
andredecotia
Tipos Primitivos… Na prática qual é o range de cada um? Há diferença se usar ou não L no long, F no float e D no double? Ví em livros
que ex: short até 2 bytes, int até 4 bytes… Mas na prática não é bem assim, vide abaixo:
public static void main(String[] args) {
short a = 12345; //5 Bytes no máximo
int i = [telefone removido]; //dez Bytes no máximo
boolean b = true; //false ou true
byte by = 0; //um Byte, se for string usar '' aspas simples
char c = 0; //um Byte, se for string usar '' aspas simples
long l = 1234567891L; //dez Bytes no máximo e opcional o uso l ou L pra compilar
float f = 1234567891f; //dez Bytes no máximo e opcional o uso do f ou L pra compilar
double d = 123456789D; //dez Bytes no máximo e opcional o uso do d ou D pra compilar
}
Tipos Primitivos… Na prática qual é o range de cada um? Há diferença se usar ou não L no long, F no float e D no double? Ví em livros
que ex: short até 2 bytes, int até 4 bytes… Mas na prática não é bem assim, vide abaixo:
public static void main(String[] args) {
short a = 12345; //5 Bytes no máximo
int i = [telefone removido]; //dez Bytes no máximo
boolean b = true; //false ou true
byte by = 0; //um Byte, se for string usar '' aspas simples
char c = 0; //um Byte, se for string usar '' aspas simples
long l = 1234567891L; //dez Bytes no máximo e opcional o uso l ou L pra compilar
float f = 1234567891f; //dez Bytes no máximo e opcional o uso do f ou L pra compilar
double d = 123456789D; //dez Bytes no máximo e opcional o uso do d ou D pra compilar
}
Detalhe: qdo. não é ponto flutuante senão é obrigado sim o uso do f no “float”… qual a diferença do float pro double sendo q os dois tem o mesmo range na prática ou de um long pra um int?
Alexandre_Saudate
andredecotia:
Tipos Primitivos… Na prática qual é o range de cada um? Há diferença se usar ou não L no long, F no float e D no double? Ví em livros
que ex: short até 2 bytes, int até 4 bytes… Mas na prática não é bem assim, vide abaixo:
public static void main(String[] args) {
short a = 12345; //5 Bytes no máximo
int i = [telefone removido]; //dez Bytes no máximo
boolean b = true; //false ou true
byte by = 0; //um Byte, se for string usar '' aspas simples
char c = 0; //um Byte, se for string usar '' aspas simples
long l = 1234567891L; //dez Bytes no máximo e opcional o uso l ou L pra compilar
float f = 1234567891f; //dez Bytes no máximo e opcional o uso do f ou L pra compilar
double d = 123456789D; //dez Bytes no máximo e opcional o uso do d ou D pra compilar
}
Cara, não é assim que se conta em bytes. “12345” é um número decimal. Convertendo ele em bytes (usei a calculadora do windows), fica 00110000 00111001 . Perceba que eu separei em grupos de oito números, certo? Cada um destes grupos representa um byte. Ou seja, o número que você escreveu pode ser representado em dois bytes (e ainda sobra espaço =P ).