converting very big numbers from hex to dec
 CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com

# Thread: converting very big numbers from hex to dec

1. Member
Join Date
May 2004
Location
Israel
Posts
174

## converting very big numbers from hex to dec

am tring to conver the left number in the atached image to the on on the right but i recive overflow

how can i slove this problem?
peleg

2. ## Re: converting very big numbers from hex to dec

Hi !
I'm working on that. Hope to present you a solution soon. 100 decimal digits are enough ?

Jonny Poet

3. ## Re: converting very big numbers from hex to dec

Here are some converterfunctions I have done for u, working up to 100 decimal digits
Please test them. Hope that helps

Jonny Poet

4. Member +
Join Date
Nov 2005
Location
Posts
696

## Re: converting very big numbers from hex to dec

Unfortunately, that large of a number is too much for even a Long.

Singles and Doubles can hold it, but because they use significant digits, the value of the number gets changed.

With Single:
Entered 144614369260322395
Returned 144614366354866176

With Double:
Entered 144614369260322395
Returned 144614369260322400

My best suggestion would be to convert the hex into a String, and whenever you make comparisons, if you make any, just make sure the value it's being compared against gets put into CStr().
Strings can perform direct comparisons with number strings perfectly as far as I can see, so "500" < "600" will return True, "455" <= "300" will return False, "400" <> "400" will return False, etc.
Last edited by ChaosTheEternal; December 14th, 2005 at 07:51 AM.

5. Member
Join Date
May 2004
Location
Israel
Posts
174

## Re: converting very big numbers from hex to dec

i didnt execlly understamdnd you
i ned oo convert 1 of them to the other format before i can compre!

how will i do it?

6. Member +
Join Date
Nov 2005
Location
Posts
696

## Re: converting very big numbers from hex to dec

Make the comparisons as strings.

Meaning, make both values being compared into Strings when you compare them, using the CStr() function if necessary.

7. ## Re: converting very big numbers from hex to dec

Originally Posted by ChaosTheEternal
...
My best suggestion would be to convert the hex into a String, and whenever you make comparisons, if you make any, just make sure the value it's being compared against gets put into CStr()....
Yea, but I think he has to compare long decimals against hex values !! so he has to convert one of them before he can compare.
So I did some converters.

Jonny Poet

8. Member
Join Date
Nov 2005
Posts
75

## Re: converting very big numbers from hex to dec

Originally Posted by JonnyPoet
Yea, but I think he has to compare long decimals against hex values !! so he has to convert one of them before he can compare.
So I did some converters.

Jonny Poet
Hey Jonny you are great... Thanks for help.

P.S : I love this site.... I think the best coding site on the planet
Last edited by jdavide; December 15th, 2005 at 12:13 AM.

9. Member
Join Date
May 2004
Location
Israel
Posts
174

## Re: converting very big numbers from hex to dec

hey Joney it worked!
i need only 15 number length
thnaks alot great day and great weekd end
peleg

10. Member
Join Date
May 2004
Location
Israel
Posts
174

## Re: converting very big numbers from hex to dec

maybe u have the opposite:
from dec to hex?

11. ## Re: converting very big numbers from hex to dec

Originally Posted by ChaosTheEternal
Strings can perform direct comparisons with number strings perfectly as far as I can see, so "500" < "600" will return True, "455" <= "300" will return False, "400" <> "400" will return False, etc.
Just one note here ... the above examples work because they the same length.. if you try "9" < "10" you get false.. because in text digit 1 is compared to Digit 1 then digit 2, 3.....

Gremmy

12. ## Re: converting very big numbers from hex to dec

Originally Posted by GremlinSA
Just one note here ... the above examples work because they the same length.. if you try "9" < "10" you get false.. because in text digit 1 is compared to Digit 1 then digit 2, 3.....

Gremmy
Yes Gremmy you talked out of my soul. Yesterday I want to mention that, then I forgot. Today it was on my list to do that. You did

BTW I just started to program the Long-Decimal-string to Binary and to Hex functions. Will be ready soon I hope.
Last edited by JonnyPoet; December 15th, 2005 at 12:54 PM.

13. Member +
Join Date
Nov 2005
Location
Posts
696

## Re: converting very big numbers from hex to dec

For comparing strings, you could opt to check the lengths of them first, then the strings.
Code:
```If Len(strOne) = Len(strTwo) Then
If strOne > strTwo Then MsgBox "strOne is larger"
If strOne < strTwo Then MsgBox "strTwo is larger"
If strOne = strTwo Then MsgBox "strOne = strTwo"
Else
If Len(strOne) > Len(strTwo) Then MsgBox "strOne is larger"
If Len(strOne) < Len(strTwo) Then MsgBox "strTwo is larger"
End If```

14. ## Re: converting very big numbers from hex to dec

Originally Posted by ChaosTheEternal
Code:
```...
If Len(strOne) > Len(strTwo) Then MsgBox "strOne is larger"
If Len(strOne) < Len(strTwo) Then MsgBox "strTwo is larger"
...```
Hey Chaos ! Try compare string "00005" with "70" and you will see its not working like that in mathematical strings, because in that case "00005" is longer but value is less ! But dont worry. it was basically your idea of comparing strings that I used to figure out the functions in my zipfile.

Jonny Poet
Last edited by JonnyPoet; December 15th, 2005 at 03:42 PM.

15. ## Re: converting very big numbers from hex to dec

Tratatata...............

Here it is, have fun.

A compare Function is added too!

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•