Професионална програма
Loading...
+ Нов въпрос
Pete1 avatar Pete1 56 Точки

Loops.Problem 15.HexadecimalТoDecimalNumber

Здравейте колеги, реших задачата като използвах цикъл, може би не е най - оптималното решение, но ми стана интересно и реших да го направя. При проверките всичко беше точно, освен с последната стойност "4ED528CBB4", като резултат ми връща отрицателно число, а се съмнявам да прехвърля range-a тъй като използвам BigInteger, давайте мнения. Благодаря предварително. 

Eто го кода: http://pastebin.com/1q7uSywr

 

 

hexadecimal

decimal

FE

254

1AE3

6883

4ED528CBB4

338583669684

 

Тагове:
0
Programming Basics 04/12/2015 23:31:04
Filkolev avatar Filkolev 4486 Точки

След като ти връща отрицателна стойност е очевидно, че има overflow. В суича кастваш към int, а при подобна дължина на стринга ще получиш 16^9, което прехвърля максимума на типа. 

2
Pete1 avatar Pete1 56 Точки

Въобще не обърнах внимание, първоначално крайния резултат го бях декларирал като int и след като го промених съм забравил да го променя и в switch-a, благодаря много :)

0