declarer une variable de 4 bits ... [C++] - Programmation
Marsh Posté le 13-03-2002 à 23:00:21
Code :
|
Ça, ça devrait marcher..
Marsh Posté le 13-03-2002 à 23:53:31
*Syl* a écrit a écrit :
|
ça prendra 8 bits. Le compilateur arrondit la taille de la structure à l'octet supérieur.
Vu que l'unité de base est l'octet tout prendra d'office au moins 1 octet.
Un boolean par exemple prend un octet, même si on n'en utilise qu'un bit.
[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]
Marsh Posté le 13-03-2002 à 23:58:29
antp a écrit a écrit : ça prendra 8 bits. Le compilateur arrondit la taille de la structure à l'octet supérieur. Vu que l'unité de base est l'octet tout prendra d'office au moins 1 octet. Un boolean par exemple prend un octet, même si on n'en utilise qu'un bit. |
J'ai jamais dit le contraire !
S'il veut que sa variable ne puisse contenir que les chiffres 0 à 15, c'est son pb.. M'enfin, perso j'aurais préférer faire un modulo plutôt qu'un vieux tableau de bit..
Marsh Posté le 14-03-2002 à 00:00:13
trueslash a écrit a écrit : je suis obligé de passer par un struct ? |
Bah justement, j'viens de dire comment ne pas passer par la struct juste au dessus .. ( % 0xF)
Marsh Posté le 14-03-2002 à 00:00:41
en fait, je dois lire les 4 bits de poids faible d'un entier , c pour ça que je veux une variable de 4 bits
Marsh Posté le 14-03-2002 à 00:01:48
trueslash a écrit a écrit : en fait, je dois lire les 4 bits de poids faible d'un entier , c pour ça que je veux une variable de 4 bits |
bah alors ce sera var = var & 0xF ;
C'est tout..tu récupereras que tes 4 bits de poids faible !
Marsh Posté le 14-03-2002 à 00:06:21
et si je veux les 4 bits de poids forts, je fais
mavar = monautrevar & 0x0F
?
bon merci bcp, j'essaye !!
Marsh Posté le 14-03-2002 à 00:08:58
trueslash a écrit a écrit : et si je veux les 4 bits de poids forts, je fais mavar = monautrevar & 0x0F ? bon merci bcp, j'essaye !! |
si var c'est une variable de type char (1 octet) tu fais :
var = (var & 0xF0) >> 4 ;
et si c'est du unsigned char tu peux seulement faire :
var >>= 4 ;
dans les 2 cas var contiendras le quartet de poids fort !
[jfdsdjhfuetppo]--Message édité par *Syl*--[/jfdsdjhfuetppo]
Marsh Posté le 13-03-2002 à 22:39:53
comment on déclare une variable entière codée sur 4 bits ?
j'ai réussi en passant par un struct (unsigned maVariable :4
mais ça marche pas dans mon code ...