BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
9 août 2004 à 14:25
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
11 août 2004 à 12:10
Salut ,
J'ai rencontré un truc marrant que je n'arrive pas a expliquer... voici le code :
#define BYTE unsigned char
#define WORD unsigned int
int main()
{
BYTE tmp[2];
WORD *val;
tmp[0] = 1;
tmp[1] = 1;
val=(WORD*)&tmp[0];
printf("%.0f",(double)*val);
getch();
return 0;
}
Quand je compile avec TC++ (sous DOS) j'ai la valeur 257. Rien de bien étonnant me direz vous ....
Essayez avec VC++.... Apparament mon unsigned int est pointé sur 4 Bytes au lieu de 2.... et on à un resultat bizarre > 65535
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 août 2004 à 19:32
Au contraire, tout ce qui sera traite sur 32 bits sera le plus rapide.
Les acces 8 bits idem, par contre les acces 16 bits ont une penalite et ne sont donc pas parallelisables.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 août 2004 à 14:39
ah oui et ensuite c'est quoi ce cast '(double)*val', tu vas charger 8 octets en fpu a partir de cette adresse alors qu'il n'y en a que 2 d'initialises. Comprends pas le but du tout.
ciao...
BruNews, Admin CS, MVP Visual C++
Vous n’avez pas trouvé la réponse que vous recherchez ?
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 20121 9 août 2004 à 19:23
D'accord.!!!
mais c'est plutot debile on utilise 2 byte pour rien. Autant dire que y'a plus de int et qu'on travaille toujours en long....
Surtout quand on veut faire du transfert de donnée par voie serie, ca implique de coller 2 octets. Ca multiplie par 2 le nombre d'octets envoyés.....
Question un processeur c'est comme un µC y'a des fonction de type
mov.b
mov.w
mov.l
C'est pas plus long de travailler qu'avec des registres 32 bytes ???
Enfin bref, je n'ai pas le niveau pour critiquer
Je vais me contenter de ta réponse... Merci à vous Deux
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 11 août 2004 à 10:08
Moi j'ai une ptite question qui n'a rien a voir.
On parle souvent de bits et de bytes alors qua ca a rien a voir.
Dans le cas de votre de discussion ne devrais t'on pas parler de byte et non de bits ?
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 11 août 2004 à 12:10
DeAtHCrAsH > quand BruNews parle de
" tout ce qui sera traite sur 32 bits sera le plus rapide"
"Les acces 8 bits idem"
"les acces 16 bits ont une penalite" ...
tu te doute bien que c'est des bits et non des bytes ?