Dúvida

7 respostas
T

sei que a dúvida pode parecer besta mas não soube responder quando questionado por um amigo…

ao declarar uma variável do tipo primitiva INT em uma aplicação Java, esse meu amigo colocou antes do número alguns zeros… tipo 0076. E na hora da impressão o resultado foi inesperado, um valor arbitrário que não sei como foi exibido…

A dúvida é… POR QUE?

Sem mais… vlw

7 Respostas

Andre_Fonseca

oi

isso porque ele está usando base hexadecimal, onde temos os algarimos 0,1,2,3,4,5,6,7

G

Na vdd, esse valor passado está em OCTAL, olhe o exemplo para entender melhor:

public static void main(String[] args) {
		int varInteira = 0;
		
		 varInteira = 0x076; //retorna valor em HEXA
		 System.out.println("valor hexa: "+varInteira);
		
		 varInteira = 0076; //retorna valor em OCTAL
		 System.out.println("valor octal: "+varInteira);
		 
		 varInteira = 76; //retorna valor em DECIMAL
		 System.out.println("valor decimal: "+varInteira);
}

Bem bacana, antes da pergunta eu tb não sabia responder, pesquisei e aprendi...
Obrigado.

flw.

davidtiagoconceicao

André Fonseca:
oi

isso porque ele está usando base hexadecimal, onde temos os algarimos 0,1,2,3,4,5,6,7

Base octal, certo?
Base hexadecimal não iniciaria com 0x e teria os algarismos 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ?

davidtiagoconceicao
gujuser:
Na vdd, esse valor passado está em OCTAL, olhe o exemplo para entender melhor:
public static void main(String[] args) {
		int varInteira = 0;
		
		 varInteira = 0x076; //retorna valor em HEXA
		 System.out.println("valor hexa: "+varInteira);
		
		 varInteira = 0076; //retorna valor em OCTAL
		 System.out.println("valor octal: "+varInteira);
		 
		 varInteira = 76; //retorna valor em DECIMAL
		 System.out.println("valor decimal: "+varInteira);
}

Bem bacana, antes da pergunta eu tb não sabia responder, pesquisei e aprendi...
Obrigado.

flw.

É isso aí.

K
gujuser:
Na vdd, esse valor passado está em OCTAL, olhe o exemplo para entender melhor:
public static void main(String[] args) {
		int varInteira = 0;
		
		 varInteira = 0x076; //retorna valor em HEXA
		 System.out.println("valor hexa: "+varInteira);
		
		 varInteira = 0076; //retorna valor em OCTAL
		 System.out.println("valor octal: "+varInteira);
		 
		 varInteira = 76; //retorna valor em DECIMAL
		 System.out.println("valor decimal: "+varInteira);
}

Bem bacana, antes da pergunta eu tb não sabia responder, pesquisei e aprendi...
Obrigado.

flw.

Somos 2.

O legal do fórum é isso: se ele não tivesse postado a dúvida aqui e tivesse perguntado direto ao oráculo, talvez nunca saberíamos a resposta.. hahahah

dfsilva86

Essa do Octal eu não sabia tbem…já valeu a passagem pelo forum, em menos de 1 min aprendi mais uma…

Andre_Fonseca

davidtiagoconceicao:
André Fonseca:
oi

isso porque ele está usando base hexadecimal, onde temos os algarimos 0,1,2,3,4,5,6,7

Base octal, certo?
Base hexadecimal não iniciaria com 0x e teria os algarismos 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ?

isso, octal, falha minha :slight_smile:

Criado 26 de março de 2009
Ultima resposta 26 de mar. de 2009
Respostas 7
Participantes 6