Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » [basic] utiliser des caractères hexadécimaux
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

[basic] utiliser des caractères hexadécimaux

Posté le 12/04/2014 09:07

Voilà, en faisant des tests en me mettant en mode hexadécimal dans RUN-MATH, j'ai vu que la caltos possède des caractères spéciaux pour les nombres hexadécimaux (les lettres A B C D E F mais avec une barre sur le côté)
Je me demandais donc s'il était possible de réutiliser ces caractères, voir de les mettre dans des str pour stocker 256 valeurs en 2 caractères et les récupérer sous forme décimale avec Exp( cela permettra sûrement de bien optimiser les programmes:

(fait en mode dec)

Fichier joint


Lephenixnoir En ligne Administrateur Points: 22772 Défis: 149 Message

Citer : Posté le 12/04/2014 09:11 | #


Pas à ma connaissance.
Ces caractères ne sont accessibles, de même que les conversions entre bases, qu'en mode BASE.
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 12/04/2014 09:12 | #


Zut, tant pis, ces caractères auraient pût avoir une utilisation intéressante...
Ne0tux Hors ligne Membre d'honneur Points: 3505 Défis: 265 Message

Citer : Posté le 12/04/2014 09:13 | #


Salut,

Oui bien sûr, tu peux faire ça, mais ça ne sont pas réellement 256 valeurs que tu pourras stocker en 2 caractères, mais juste un seul nombre codé sur 8 bits (1 octet). Après tu peux le "découper" comme bon te semble, mais il n'y aura pas plus de 8 bits.

C'est le principe même de l'hexadécimal : 1 chiffre hexadécimal représente 4 bits.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 12/04/2014 09:14 | #


Ok, mais du coup tu les récupère comment?
Pour les 2 caractères je voulais dire que 255=FF; si on fait la conversion 255>Hex, il donne 000000FF
Ne0tux Hors ligne Membre d'honneur Points: 3505 Défis: 265 Message

Citer : Posté le 12/04/2014 09:15 | #


En mode BASE (tu ne fais qu'un petit sous-programme).
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 12/04/2014 09:17 | #


Ok, je vais essayer, merci.
Par contre comment est ce que je fais pour mettre le caractère dans mon programme?
C'est bon j'ai trouvé

Ajouté le 12/04/2014 à 09:25 :
Mais du coup je ne peux pas les mettre dans des str puisqu'ils ne sont pas accessibles en mode base au pire je pourrais m'en servir pour autre chose: j'appelle un programme en mode base qui contient les variables en hexa et qui me les renvoi en décimal, par exemple je veux avoir 232, je fais
hex
E8->A
A>Dec//donne 232

Merci quand même, après il faut voir si on peut vraiment optimiser avec ça
Lephenixnoir En ligne Administrateur Points: 22772 Défis: 149 Message

Citer : Posté le 12/04/2014 09:32 | #


Il faut que tu comprennes qu'un changement de base n'affecte pas la valeur : 0xFF = 255. Il ne s'agit que d'affichage.
Et de toute façon, puisqu'il n'y a pas de Return en mode BASE, le Prog vers un tel programme génère une erreur saut.
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 12/04/2014 09:40 | #


Je sais que le changement de base ne change pas la valeur, je voulais juste savoir si on pouvait mettre 0xFF au lieu de 255, mais bon, si on ne peut pas faire de return je ne pourrais pas faire ce que je pensais.
Enfin bon, c'est pas trop grave puisque dans mon programme je n'utilise que des valeurs inférieures à 100; je voulais juste savoir s'il était possible de manipuler des nombres hexadécimaux.
Lephenixnoir En ligne Administrateur Points: 22772 Défis: 149 Message

Citer : Posté le 12/04/2014 09:42 | #


En mode base, c'est parfaitement possible, mais il faut faire attention au corps du programme.
Bin
1237->A

va générer une belle erreur syntaxe.
Mais de toute manière il n'est pas possible d'appeler un programme BASE depuis un programme RUN.
Sinon on aurait déjà un super-convertisseur de bases !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 107 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd