5 codes ascii dans un int (2.147.483.648) - Algo - Programmation
Marsh Posté le 06-06-2003 à 13:10:26
c'est pas possible code ascii 7bits => 7*5==35, et comme tes int sont sur 32bits, ça coince...
et si tu veux du 8bits, ben la tu peux tout juste en mettre 4
sinon la technique c'est avec des masques et des décalage binaire
Marsh Posté le 06-06-2003 à 13:13:17
oui mais comme je n ai besoin que les chifre de 0-9 t les caracteres de A-Z pe peut on trouver qq ch non?
Marsh Posté le 06-06-2003 à 13:17:34
ben alors pas des codes ascci
t'as qu'à faire [0-9] => chiffre [0 ; 9]
[10-35] -> ['a' ; 'z'];
à ce moment la il te faut 6 bits
apres tu utilise un masque avec les opéateurs &, |, ^
Marsh Posté le 06-06-2003 à 23:29:17
The big ben a écrit : cad c quoi JNI? |
Pourquoi faire de l'ASM dans du Java ? Tu as des opérateurs 'bitwise' en Java aussi ...
A moins que tu ne souhaites faire des optimisations monstrueuses, pour un exo aussi trivial, ce sera encore plus simple de rester avec du Java ...
JNI, c'est Java Native Interface, si je ne me trompe pas ... Ca te permet de faire du code natif (du point de vue du système) donc moins portable que le Java en lui-même ...
Marsh Posté le 06-06-2003 à 23:40:04
++Taz a écrit : ben alors pas des codes ascci |
En stockant même comme ça :
0-35
36-71
72-108
...
Y'a moyen d'en stocker une tétachiée de caractères
Par contre, faudra faire pas mal de calculs pour les relire
Quoiqu'en bossant en base 36, doit y avoir moyen de les relire très simplement.
Marsh Posté le 07-06-2003 à 00:55:58
Prends tes nombres et tes lettres, vire les 2bits de poids fort et tu va voir ca marche.
Marsh Posté le 24-06-2003 à 22:45:17
Code en C#, adapte dans le langage que tu veux après
byte[] tab = new byte[4]; |
PS: Testé, et ça marche
Ce système évite de faire des offset et des masques qui sont pas forcément supportés sur les langages de haut niveau (en C# je crois pas que ça existe ) Mais ça revient rigoureusement au même.
Marsh Posté le 06-06-2003 à 13:08:18
Voila je dois changer un bout de programme assez complexe et je vais donc peut etre devoir passer au bricolage...
j'ai 5 caracteres alpha numérique code ascii de 30-39 pour les nbres et de 65-90 pour les lettres maj.
Et je dois les mettres dans un int cad un nombre compris entre
+-2.147.483.648
Est ce que qq aurais une idée de procédure simple?
D'avance merci