перевод из 16ой в 10сс

Общие вопросы: версии и диалекты, синтаксис языка, cтруктуры и типы данных (массивы, строки, списки...), обработка данных и т.д.
Ответить
fiascko
Сообщения: 4
Зарегистрирован: 25 мар 2010, 22:59

26 окт 2010, 16:09

Ребята, прошу помощи. Необходимо перевести числа из 16ой в 10 сс.
Взялся переводить и вот некоторые проблемы:
1) как переводить отрицательные числа (из 10ой в 16ую)? Калькулятор число FFD6F78C перевел как -2689140. Я думал сначала, что если первые 2 цифры FF, то число отрицательное, но это оказалось неверно.
2) у меня есть таблица с несколькими числами в десятичной и 16ой системе соответственно. Так там число F143F62C4113F42F перевели как 2.4921113696е+005.
Прошу помочь. Очень нужно. Заранее благодарен.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

27 окт 2010, 09:47

1) Отрицательные числа - это "минус один", умноженное на положительное число. Так что никакких проблем нет. "Вумный" же калькулятор, как я понимаю, вообще "не знает" отрицательных шестнадцатиричных чисел, "переводя" знаковое (отрицательное) число в беззнаковое.
2)
Так там число F143F62C4113F42F перевели как 2.4921113696е+005.
Странный перевод у меня тот же калькулятор перевел как 17385009656511067183.
Если же вы переводили на каком-то языке программирования, то, подозреваю, у вас уже не хватает точности (количества цифр) переменной, в которой помещается результат
Но настораживает то, что первое число (начинающееся с 2.49) при всем желании трудно назвать равным числу, начинающемуся с 17385
Аватара пользователя
Oleg_Rus
Сообщения: 330
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

16 ноя 2010, 16:17

Люди, прежде чем выкладывать тему пробуйте решить ее сами... :mad:

C = a[n] * M^n + a[n-1] * M^(n-1) + ... + a[1] * M + a[0]

Итого, решение сводится к тому, чтобы занести шестнадцатеричное число в массив или строку (что в принципе одно и то же), написать процедуру или функцию по возведению числа в степень и и найти сумму этих произведений...

Если и это сложно, то пишите в личку, постараюсь объяснить максимально доступно :cool:
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>
Ответить