aspose file tools*
The moose likes Beginning Java and the fly likes Declaration Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Declaration" Watch "Declaration" New topic
Author

Declaration

N Nanda
Ranch Hand

Joined: Feb 09, 2004
Posts: 62
Hi all... I am declaring an integer like:
int i=012;
When I am printing this value of i, it is printing 10. Why so ?
kelvin cheung
Ranch Hand

Joined: Mar 27, 2004
Posts: 120
because the 0 is meaningless in this case.
it will work if you declare as STRING ...
well actually not so sure
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10916
    
  12

When you declare an integer, and the leading digit is a '0', the compiler considers the value to be an Octal representation of the number. So, in your case, it is reading in 12 base 8.
When you print it out, it converts it to decimal. so you get 1*8 + 2*1 or 10.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Davy Kelly
Ranch Hand

Joined: Jan 12, 2004
Posts: 384
you can tell octal numbers because they have the preceding 0
so in your case:
int i = 012;
this is how it is represented:
the 0 tells you its octal,
the 1 tells you how many 8's there are, in this case only one,
the 2 tells you how many 1's there are, in this case 2,
so (8*1) + (1*2)= 10
hope this helps.
Davy


How simple does it have to be???
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Declaration
 
Similar Threads
Q? from Majji
Date Issue in Java 1.5
insert multi language
Working with file and directories..
++b + b++ and b++ + ++b