Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Binary to Hex Conversion
Message
De
15/06/1997 20:50:53
 
 
À
15/06/1997 20:32:47
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00036266
Message ID:
00036456
Vues:
65
>>VFP provides the BITSET() function to set a bit in a numeric value directly.
>>
>>There's no need to do all those conversions. Just work with numeric values.
>>
>>Vlad
>>
>>>>>I need to convert a binary number to Hex, and vice-versa. It's been a long time since I've done this. Does anyone have some code that will do this for me?
>>>>>
>>>>>The binary number will look something like: 1100001111010001 (It will be as much as 16 digits)
>>>>>
>>>>>Craig
>>>>
>>>>Hi Craig,
>>>>
>>>>I'd suggest a two step approach, the first being to convert the binary string to an integer, then covert the integer to hex. I recently saw a routine to do the latter conversion, so here's the first part:
>>>>
>>>>FUNCTION BStr2Int
>>>>
>>>>LPARAMETER pc_bstr
>>>>
>>>>LOCAL lnresult, lni, lnj, lnlast
>>>>lnlast = LEN(pc_bstr)
>>>>lnj = -1
>>>>lnresult = 0
>>>>FOR lni = lnlast TO 1 STEP -1
>>>> lnj = lnj + 1
>>>> lnresult = lnresult + (VAL(SUBSTR(pc_bstr, lni, 1)) * (2 ^ lnj))
>>>>NEXT
>>>>RETURN lnresult
>>>>
>>>>Regards,
>>>>
>>>>George
>>>
>>>
>>>Thanks George, I'll try it out. What I'm needing to do is transmit data to a remote server program. The remote program can accept optional fields i the middle of the string. The first field to send is a hex representation of the binary on/off (yes/no) of which fields are sent. For example, if field 5 is sent, then the 5th position in the binary number is set, etc.
>>>
>>>Craig
>
>Can you tell me how to do this, given my requirements?
>
>Craig

To be fair, I didn't understand what you want to do exactly.
What format do you have to convert in what format. When you say "binary number", is it a number in numeric format or a number in string format? The same for HEX: is it numeric HEX or string HEX?

If both of them are numeric, than there may be nothing to convert. Altough, if you need to write them to a file you may need some conversions.

Please tell us exactly what you need to do. What's the input, what's the output?

You say that the binary format may be: 1100001111010001. Does it mean "1100001111010001"? Do you have actually 16 bytes there?

For example, the HEX equivalent in string format is "C3D1", but the memory value in string format is chr(195)+chr(209).

Vlad
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform