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

 


Dernière réponse
Sujet : [C] Portabilité opérations bas niveau
Pschitt Y'a apparemment 1 possibilité de vérifier la taille des divers types entiers avec la lib. limits.h :
 
http://groups.google.fr/groups?hl= [...] omp.lang.c
 
Et oui je vous aient mis en concurrence :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pschitt Y'a apparemment 1 possibilité de vérifier la taille des divers types entiers avec la lib. limits.h :
 
http://groups.google.fr/groups?hl= [...] omp.lang.c
 
Et oui je vous aient mis en concurrence :D
krolours1

Pschitt a écrit a écrit :

J'aimerait comprendre pourquoi les opérations bas niveau(& | ^ << >> champs de bits) de manipulation de bits sont dites peu, voir pas portables d'1 machine à 1 autre ou d'1 compilo à 1 autre.
Alors que l'API WIN32 les utilisent allègrement(LPARAM, WPARAM, LOWORD(l) ...)
Je souhaiterais les utiliser pour concaténer 2 infos (1 bit d'état + 1 mot de 31 bits) dans entier unsigned int en retour d'une fonction.
 
Merci  




 
En plus des problèmes d'endian il y a aussi des différences
entre les types c suivant l'architecture :
sur i386, un int fait 32 bits  
sur alpha ou ultrasparc l'int fait 64 bits

krolours1

flo850 a écrit a écrit :

ca depend d'une histoire de petit indien et de grand indien.
apres, je peux pas t'en dire plus , j'ai joyeusement fait cracké ce cours , mais si tu fat une recherche tu dois trouver
je crois que ca indique la position du bit depoids fort  




c pas indien c'est endian :) c pas pareil
 
ça indique la position de l'octet de poid fort dans 1 mot
les pc sont little-endian : l'octet de poid faible est au début
par exemple 0xFFEE s'écrit 0xEEFF
 
La pluspart des autres proc sont big-endian (motorola 68k) et certains peuvent fonctionner dans les 2 modes (powerpc)

flo850 ca depend d'une histoire de petit indien et de grand indien.
apres, je peux pas t'en dire plus , j'ai joyeusement fait cracké ce cours , mais si tu fat une recherche tu dois trouver
je crois que ca indique la position du bit depoids fort
LetoII En fait ça dépend essentiellement du processeur de la machine sur lequel tourne ton programme. Suivant comment il va traiter les entiers tu va pas obtenir la même chose, mais ce comportement doit être relativemet standard sur les machines de type PC.
Pschitt J'aimerait comprendre pourquoi les opérations bas niveau(& | ^ << >> champs de bits) de manipulation de bits sont dites peu, voir pas portables d'1 machine à 1 autre ou d'1 compilo à 1 autre.
Alors que l'API WIN32 les utilisent allègrement(LPARAM, WPARAM, LOWORD(l) ...)
Je souhaiterais les utiliser pour concaténer 2 infos (1 bit d'état + 1 mot de 31 bits) dans entier unsigned int en retour d'une fonction.
 
Merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)