Como declarar Inteiros de 32 bits e 64 bits?

12 respostas
A

Olá pessoal , estou com uma duvida de como declarar um inteiro de 32 bits e um inteiro de 64 bits!

Sei que o float é um ponto flutuante de 32 bits e
Double é um ponto flutuante de 64 bits

E o Inteiro? Int 64 ou 32? Integer 64 ou 32 ??
???

12 Respostas

E

Em Java, o inteiro de 16 bits é “short”, de 32 é “int” e de 64 é “long”.

A

Muito obrigado entanglement !

A

Agora não consigo declarar um ponto flutuante de 32 , o float da erro no Netbeans!

peczenyj

puxa! sério que ele da erro! Podia descrever o erro para a gente, afinal não conseguimos sequer imaginar o que pode estar acontecendo?

A

O erro :

xception in thread main java.lang.RuntimeException: Uncompilable source code - possible loss of precision

required: float

found:    double

at aprendendojava.exerciciosModulo2.exercicio2.main(exercicio2.java:17)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 10 segundos)
A

Fiz dessa forma e deu certo : float p = (float)20.0; pq tive que declarar o tipo no valor?

peczenyj

em algum momento vc esta usando uma variavel double e usando em algo que espera float.

um “cast” poderia resolver, porém tem que ver o que esta acontecendo no codigo. faz sentido vc tentar colocar algo de 64 bits em uma variavl de 32?

A

Não coloquei variavel de 64 em 32 , sei que haverá perda de bits , pois programo para web com php, javascript, css , html e estou migrando para uma linguagem mult plataforma e estou mau acostumado , pois no php não precissa ficar declarando variavel!

int i = 1;

long j = 2;

float p = <a>b</a>[/b]20.0;

double q = 30.0;

So fiz isso! se eu tirar o cast da erro! O cast seria o float que eu destaquei es negrito certo?

J

tente usar:

float num0 = 20.0f; //Para float
double num1 = 20.0d; // Para double;
A

Legal deu certo , apenas para float pois double não precissa! Por que isso e qual a diferença do cast?

J

Isso acontece porque, por padrão, um literal de ponto-flutuante é no mínimo do tipo double. E um double não cabe em um float. A definição da letra “f” ou “F” informa ao compilador que estamos realmente definindo um literal float.

Veja o link com a explicação completa do Osmar J. Silva: http://www.arquivodecodigos.net/dicas/java-usando-o-tipo-de-dados-float-da-linguagem-java-2122.html

A

Isso acontece porque, por padrão, um literal de ponto-flutuante é no mínimo do tipo double. E um double não cabe em um float. A definição da letra “f” ou “F” informa ao compilador que estamos realmente definindo um literal float.

Veja o link com a explicação completa do Osmar J. Silva: http://www.arquivodecodigos.net/dicas/java-usando-o-tipo-de-dados-float-da-linguagem-java-2122.html

Muito obrigado joyle e a todos vocês!

Criado 5 de agosto de 2011
Ultima resposta 5 de ago. de 2011
Respostas 12
Participantes 4