#1 Le 05/02/2007, à 15:28
- space-cake
[Resolu] programmation en C : taille des opérandes
Bonjour,
j'ai une petite question concernant le C et la projet que j'ai en ce moment sur un ARM7
J'ai un registre de 9bits (rPDATF) . Je veux changer certain bits de ce registre, pour cela j'utilise un masque. Or en C, il n'existe aucun type de donnée à 9 bits, il n'y a que du 8 bits ou du 16 bits (voir plus).
Si je fais un masque : unsigned short MASQUE (j'ai donc du 16 bits) comment va se comporter le C si je fais
rPADTF = MASQUE & rPDATF;
(je règle la valeur de MASQUE pour ne mettre à zéro que certain bits)
Bref, ma question porte sur le C en général, comment le langage gère-t-il la différence de taille des opérandes ?
Dernière modification par space-cake (Le 08/02/2007, à 00:28)
site: http://www.sp4ce.net
blog: http://sp4ce.gaijininjapan.com
Hors ligne
#2 Le 05/02/2007, à 17:11
- any
Re : [Resolu] programmation en C : taille des opérandes
sinon dans une structure tu peux definir le n nombre de bit avec ":n".
http://www.cs.cf.ac.uk/Dave/C/node13.html
* Reading external file formats -- non-standard file formats could be read in. E.g. 9 bit integers.
struct packed_struct {
unsigned int f1:1;
unsigned int f2:1;
unsigned int f3:1;
unsigned int f4:1;
unsigned int type:4;
unsigned int funny_int:9;
} pack;
#3 Le 08/02/2007, à 00:27
- space-cake
Re : [Resolu] programmation en C : taille des opérandes
Salut,
en fait j'ai réfléchis un peu et je me suis rendu compte que mon problème était un peu débile... .
En effet j'avais mon registre de 9 bits (rPDATF) qui était en fait bien un short sur 16 bits, mais seuls les 9 premiers bits était porteur de sens au niveau materiel.
enfin voila
Sinon, si on fait une opération logique bit à bit avec de nombre de tailles différentes (par exemple un long avec un short) sur combien de bits est codés le résultat ?
à priori, je dirais que le résultat est de la taille du plus grand des deux opérandes (dans l'exemple on a donc un long à l'arrivée et le short a été transtypé en long) , mais je suis pas sûr...
site: http://www.sp4ce.net
blog: http://sp4ce.gaijininjapan.com
Hors ligne