Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1439 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  5 codes ascii dans un int (2.147.483.648)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

5 codes ascii dans un int (2.147.483.648)

n°419320
the big be​n
Posté le 06-06-2003 à 13:08:18  profilanswer
 

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

mood
Publicité
Posté le 06-06-2003 à 13:08:18  profilanswer
 

n°419324
Taz
bisounours-codeur
Posté le 06-06-2003 à 13:10:26  profilanswer
 

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

n°419330
the big be​n
Posté le 06-06-2003 à 13:13:17  profilanswer
 

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?

n°419333
Taz
bisounours-codeur
Posté le 06-06-2003 à 13:17:34  profilanswer
 

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 &, |, ^

n°419476
theshockwa​ve
I work at a firm named Koslow
Posté le 06-06-2003 à 14:52:45  profilanswer
 

et en plus, si tu veux mettre les majuscules, ca te fait 61 caractères, donc ca tient encore sur 6 bits .... La fête !


---------------
last.fm
n°419854
the big be​n
Posté le 06-06-2003 à 16:46:11  profilanswer
 

y a t il moyen de faire une sous routine asm en java?

n°419858
Taz
bisounours-codeur
Posté le 06-06-2003 à 16:46:59  profilanswer
 

avec JNI

n°419862
the big be​n
Posté le 06-06-2003 à 16:48:55  profilanswer
 

cad c quoi JNI?

n°420408
theshockwa​ve
I work at a firm named Koslow
Posté le 06-06-2003 à 23:29:17  profilanswer
 

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 ...


---------------
last.fm
n°420412
MagicBuzz
Posté le 06-06-2003 à 23:40:04  profilanswer
 

++Taz a écrit :

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 &, |, ^


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.


Message édité par MagicBuzz le 06-06-2003 à 23:40:44
mood
Publicité
Posté le 06-06-2003 à 23:40:04  profilanswer
 

n°420427
Clie
Posté le 07-06-2003 à 00:55:58  profilanswer
 

Prends tes nombres et tes lettres, vire les 2bits de poids fort et tu va voir ca marche.

n°438533
MagicBuzz
Posté le 24-06-2003 à 22:45:17  profilanswer
 

Code en C#, adapte dans le langage que tu veux après ;)
 

  byte[]  tab = new byte[4];
   int mesBytes = 1236826554;
 
   for (int i = 0; i <= tab.GetUpperBound(0); i++)
   {
    tab[i] = System.Convert.ToByte((mesBytes / System.Convert.ToInt32(System.Math.Pow(256, i))) % 256);
   }


 
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.


Message édité par MagicBuzz le 24-06-2003 à 22:47:00

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  5 codes ascii dans un int (2.147.483.648)

 

Sujets relatifs
y a-t-il une taille limite pour un .string ou un .ascii?Comment envoyer avec php le code ascii de la touche Entrée ?
[PHP] Generer de l'ascii artascii -> char?
comment savoir si unicode ou asciiconvertir un char en int sans tomber sur le code ascii
Code ascii de certaines touchescodes barres
[VBS] Comment transformer des codes HTML en code ASCII? 
Plus de sujets relatifs à : 5 codes ascii dans un int (2.147.483.648)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR