:: Visual Foxpro, Foxpro for DOS
перевод в шестнадцатиричный формат
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Добрый день.

Есть ли ф-ция перевода числа из 10 ричного формата в 16 ричный?
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
Qv_1

Сообщений: 201
Дата регистрации: 14.02.2007
forum.foxclub.ru
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Василий
Есть ли ф-ция перевода числа из 10 ричного формата в 16 ричный?
1. Перевод между системами счисления правктикую на школьных уроках информатики.
2. StrConv()


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
ssa
1. Перевод между системами счисления правктикую на школьных уроках информатики.
2. StrConv()
1. Это понятно, я же не алгоритм спрашиваю, в готовое решение (надеялся на встроенную)
2. Научите, как получить из 98765432101234 => 59D39E7F1972
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Василий
1. Это понятно, я же не алгоритм спрашиваю, в готовое решение (надеялся на встроенную)

Fox такое число встроенной функцией не проглотит.

TRANSFORM(eExpression, [cFormatCodes])
@0 - Converts numeric or currency values to their hexadecimal equivalents.
The numeric or currency value must be positive and less than 4,294,967,296.

Сравни 98,765,432,101,234


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 10.10.18 20:09
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
leonid

Сообщений: 3202
Откуда: Рига
Дата регистрации: 03.02.2006
PaulWist
Сравни 98,765,432,101,234

Тоже мне, проблема. Мы программисты, или где?

m.x=98765432101234
?LTRIM(SUBSTR(Transform(INT(m.x/(2^32)), "@0"),3) + PADL(SUBSTR(Transform(m.x%(2^32), "@0"),3),8,"0"),"0")
Ratings: 0 negative/1 positive
Re: перевод в шестнадцатиричный формат
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Цитата:
"Молодец, Киса!"- подумал Остап. - "Моя школа!.." :bi:
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
akvvohinc

Сообщений: 4202
Откуда: Москва
Дата регистрации: 11.11.2008
Василий
Есть ли ф-ция перевода числа из 10 ричного формата в 16 ричный?

Вы не число хотите получить, а строку, являющуюся символьным представлением числа в 16-ричном формате.
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
leonid Спасибо, вроде то то что нужно.

akvvohinc
Вы не число хотите получить, а строку, являющуюся символьным представлением числа в 16-ричном формате.
Да, но вроде вопрос решен.
Ratings: 0 negative/0 positive
Re: перевод в шестнадцатиричный формат
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
lnNumber = 98765432101234
?STRCONV(BITXOR(0h+BINTOC(m.lnNumber/$10000,"8"), 0h800000000000), 15)
Можно и LTRIM добавить, если ведущие нули зачем-то надо убирать...

Естественно для "особо больших" чисел будет ошибка потери точности. Полноценное 8-байтное целое число только непосредственно в Currency типе можно выразить, да и то с учётом того что оно будет "знаковым" - диапазон указан в хелпе. Можно забить на десятичную точку, считая 4 разряда после неё как просто 4 младших разряда целого числа.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 PuMa Guest (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика