Como declarar Inteiros de 32 bits e 64 bits ?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

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 ??
????????????????????????????????????????????????????????????????????????????????????????????????
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Em Java, o inteiro de 16 bits é "short", de 32 é "int" e de 64 é "long".
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

Muito obrigado entanglement !
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

Agora não consigo declarar um ponto flutuante de 32 , o float da erro no Netbeans!
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

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?

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

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)
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

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

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

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?

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

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 = (float)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?
joyle
Java Ninja

Membro desde: 03/06/2009 18:45:18
Mensagens: 256
Offline

tente usar:


alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

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

Membro desde: 03/06/2009 18:45:18
Mensagens: 256
Offline

alexpleno wrote: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


alexpleno
What is classpath?

Membro desde: 22/04/2011 12:19:45
Mensagens: 8
Offline

joyle wrote:
alexpleno wrote: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


Muito obrigado joyle e a todos vocês!
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team