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 ??
???
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 ??
???
Em Java, o inteiro de 16 bits é “short”, de 32 é “int” e de 64 é “long”.
Muito obrigado entanglement !
Agora não consigo declarar um ponto flutuante de 32 , o float da erro no Netbeans!
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?
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)
Fiz dessa forma e deu certo : float p = (float)20.0; pq tive que declarar o tipo no valor?
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?
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 = b[/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?
tente usar:
float num0 = 20.0f; //Para float
double num1 = 20.0d; // Para double;
Legal deu certo , apenas para float pois double não precissa! Por que isso e qual a diferença do cast?
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
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[/quote]
Muito obrigado joyle e a todos vocês!