Ребята, прошу помощи. Необходимо перевести числа из 16ой в 10 сс.
Взялся переводить и вот некоторые проблемы:
1) как переводить отрицательные числа (из 10ой в 16ую)? Калькулятор число FFD6F78C перевел как -2689140. Я думал сначала, что если первые 2 цифры FF, то число отрицательное, но это оказалось неверно.
2) у меня есть таблица с несколькими числами в десятичной и 16ой системе соответственно. Так там число F143F62C4113F42F перевели как 2.4921113696е+005.
Прошу помочь. Очень нужно. Заранее благодарен.
перевод из 16ой в 10сс
1) Отрицательные числа - это "минус один", умноженное на положительное число. Так что никакких проблем нет. "Вумный" же калькулятор, как я понимаю, вообще "не знает" отрицательных шестнадцатиричных чисел, "переводя" знаковое (отрицательное) число в беззнаковое.
2)
Если же вы переводили на каком-то языке программирования, то, подозреваю, у вас уже не хватает точности (количества цифр) переменной, в которой помещается результат
Но настораживает то, что первое число (начинающееся с 2.49) при всем желании трудно назвать равным числу, начинающемуся с 17385
2)
Странный перевод у меня тот же калькулятор перевел как 17385009656511067183.Так там число F143F62C4113F42F перевели как 2.4921113696е+005.
Если же вы переводили на каком-то языке программирования, то, подозреваю, у вас уже не хватает точности (количества цифр) переменной, в которой помещается результат
Но настораживает то, что первое число (начинающееся с 2.49) при всем желании трудно назвать равным числу, начинающемуся с 17385
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
Люди, прежде чем выкладывать тему пробуйте решить ее сами... 
C = a[n] * M^n + a[n-1] * M^(n-1) + ... + a[1] * M + a[0]
Итого, решение сводится к тому, чтобы занести шестнадцатеричное число в массив или строку (что в принципе одно и то же), написать процедуру или функцию по возведению числа в степень и и найти сумму этих произведений...
Если и это сложно, то пишите в личку, постараюсь объяснить максимально доступно

C = a[n] * M^n + a[n-1] * M^(n-1) + ... + a[1] * M + a[0]
Итого, решение сводится к тому, чтобы занести шестнадцатеричное число в массив или строку (что в принципе одно и то же), написать процедуру или функцию по возведению числа в степень и и найти сумму этих произведений...
Если и это сложно, то пишите в личку, постараюсь объяснить максимально доступно

e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>