Hexa, Bin, comment l'écrire dans un fichier?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Hexa, Bin, comment l'écrire dans un fichier?

Message par Jacobus »

Hello! J'ai besoin d'écrire certaines valeurs dans un fichier et le résultat n'est pas probant.

Code : Tout sélectionner

Debug Bin(Val("%01010101")) ; bin >> résultat manque le zéro de tête ?!? 
Debug Bin(Val("$55")) ; en hexa itou...
Debug RSet(Bin(Val("$55")), 1, "0")  ; le remettre ne fonctionne pas!
Savez-vous pourquoi ça fait ça à la conversion? Les zéros avant le premier 1 sont systématiquement effacés, comme en décimale où ils n'ont pas de valeur. Mais là ils en ont une :?
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Message par GeBonet »

A mon sens, mathématiquement le zéro à gauche ne sert a rien... Ors tu passe par val(qq chose) donc par sa valeur mathématique...

Donc si tu veux garder une représentation avec 0 à gauche il faut passer par de l'alphanumérique "0010111101010010" ça s'écrit mais mathématiquement cela donne 111101010010.... tout comme 0100 ou 020 ne sont que 100 ou 20 !

Je ne sais pas si cela réponds à ta question... ?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Pour Rset il faut indiquer la longueur totale de la chaine de sortie souhaitée

Code : Tout sélectionner

T$=Bin(%01010101)
Debug RSet(T$,8,"0")
Et comme GeBonet , je ne comprends pas pourquoi tu utilises un val ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Je croyais qu'il fallait indiquer le nombre de caractères à ajouter à la chaîne dans RSet() d'où mon erreur.
J'ai besoin d'une conversion rapide : Binaire <-> Hexadécimal et inversement et j'ai trouvé que comme cela ça l'était. je n'ai pas exploré toute la question, je m'en sers assez peu ainsi.
Merci.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre