Results 1 to 11 of 11
- 05-22-2008, 04:15 AM #1
Member
- Join Date
- May 2008
- Posts
- 31
- Rep Power
- 0
- 05-22-2008, 04:44 AM #2
Java Code:int i =2; String s = Integer.toHexString(i); System.out.printf("s = %s%n", s); BigInteger bi = new BigInteger("12345678923456"); System.out.printf("bi = %s%n", bi); System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE); System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE); long n = bi.longValue(); String hex = Long.toHexString(n); System.out.printf("hex = %s%n", hex);
- 05-22-2008, 05:08 AM #3
Member
- Join Date
- May 2008
- Posts
- 31
- Rep Power
- 0
Hi
Thanks for the quick reply. I really appreciate. It works fantastic.
Thanks hardWired.
Regards
Nanaji
- 05-22-2008, 05:27 AM #4
It works like a charm but it is not very safe :). BigInteger.longValue() returns only the lowest 64 bits while BigInteger is meant to represent arbitrary-precision integers. This means you can get a wrong value, not even of the same magnitude and it might be even with the wrong sign (+/-).
A simpler solution is to use BigInteger.toString(int radix).
When you run this class you see the difference:Java Code:import java.math.BigInteger; public class BIHex { public static void main(String[] args) { java.math.BigInteger bi = new BigInteger( "12345678901234567890123456789012345678901234567890" + "12345678901234567890123456789012345678901234567890"); System.out.println("max long = " + Long.toHexString(Long.MAX_VALUE)); System.out.println("bi as long = " + Long.toHexString(bi.longValue())); System.out.println("bi as hex = " + bi.toString(16)); } }
Java Code:max long = 7fffffffffffffff bi as long = accff196ce3f0ad2 bi as hex = 241fc1742fe8d29593a6afe52b31741cfe5a7f8e67e477381be47851641ef7bf14baccff196ce3f0ad2
Daniel @ [www.littletutorials.com]
Language is froth on the surface of thought
- 05-22-2008, 05:40 AM #5
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
I have thing to clarify. As far as I remember, radix also have a range (a min value and a max value). What happened to the result if the radix is out of rang. I think if the radix out of that range, set to default, to decimal. So...
- 05-22-2008, 05:54 AM #6
Hi Eranga :)
Yes you are right. The radix range is 2-36 and it is defined in Character.MIN_RADIX and Character.MAX_RADIX. For a radix out of range the transformation algorithm defaults to radix 10.
So... what? :) It works fine for radix 16 :)
I am not sure I got the question. Is there any problem with my example?Daniel @ [www.littletutorials.com]
Language is froth on the surface of thought
- 05-22-2008, 06:04 AM #7
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
I got what you say. So I remember that ;) nice to see that.
What I'm say is, if the radix is 64?? (It can be, right?)
- 05-22-2008, 06:19 AM #8
The max radix value is 36 because there are only 36 symbols to use for representation (26 letters + 10 digits). If you use 64 will default to 10 so you get the wrong representation. If you want to transform in base 64 you have to write your own algorithm and specify what symbols to use from 37 to 63.
Daniel @ [www.littletutorials.com]
Language is froth on the surface of thought
- 05-22-2008, 06:21 AM #9
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
Ok, thanks for the explanation pal.
- 05-22-2008, 12:37 PM #10
Member
- Join Date
- May 2008
- Posts
- 31
- Rep Power
- 0
Hi ,
Regards
NanajiLast edited by nanaji; 05-23-2008 at 04:49 AM.
- 05-22-2008, 12:44 PM #11
- Join Date
- Jul 2007
- Location
- Colombo, Sri Lanka
- Posts
- 11,374
- Blog Entries
- 1
- Rep Power
- 18
What you have try to work on for loop there?
Similar Threads
-
How to convert a string into a BigInteger
By valery in forum New To JavaReplies: 4Last Post: 09-13-2011, 01:32 PM -
how to convert String number to int
By gabriel in forum New To JavaReplies: 5Last Post: 08-02-2009, 03:46 PM -
Convert .java to .exe
By susan in forum New To JavaReplies: 6Last Post: 02-11-2009, 06:47 AM -
BigInteger remainder results in zero
By perito in forum New To JavaReplies: 1Last Post: 03-21-2008, 04:07 PM -
how to convert source code to xml
By valery in forum XMLReplies: 2Last Post: 08-06-2007, 08:29 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks