Article View: fr.comp.lang.c
Article #15520Re: champ de bits...
From: Pierre Maurette
Date: Sat, 24 Sep 2005 08:10
Date: Sat, 24 Sep 2005 08:10
32 lines
2495 bytes
2495 bytes
Charlie Gordon, le 24/09/2005, a �crit :
[...]
> Enfin unsigned est un synonyme de unsigned int, et il est en effet imp�ratif
> de d�finir comme non sign�s les champs de 1 bit ;-)
Je crois que c'est un bonne pr�caution.
Si le type est unsigned int, le champs ne pourra prenbre que les
valeurs 0 et 1, et c'est portable. Les comparaisons (cfg.t1 == 0) et
(cfg.t1 == 1) produiront les r�sultats attendus de fa�on portable. De
plus, elles sont coh�rentes avec l'intuition d'un bool�en et surtout
d'un bit sous-jacent.
Si le type est int, sur une impl�mentation compl�ment � 2, le champs ne
pourra prenbre que les valeurs 0 et -1, et ce n'est � mon avis pas
portable. En fait, les d�finitions concernant le codage des n�gatifs
ont peu de sens dans le cas d'uns seul bit.
Bien entendu, si l'on est dans la s�mantique d'un bool�en, la
comparaison (cfg.t1 != 0) produira toujours le r�sultat attendu. Si on
travaille avec un type bool, dans le deux cas, il faudra faire par
exemple:
bool state = (cfg.t1 != 0);
Notez que C99 autorise:
struct cfg
{
_Bool t1:1;
_Bool t2:1;
};
--
Pierre Maurette
Technical Details
Message-ID:
<mn.c2627d590d12cbdb.31483@laposte.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!infeed-1.proxad.net!news18-e.free.fr!not-for-mailReferences:
<433442ce$0$12992$7a628cd7@news.club-internet.fr> <4334462d$0$24227$626a14ce@news.free.fr> <dh2gbt$6f6$1@reader1.imaginet.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,f57b8b7d4d821213
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!infeed-1.proxad.net!news18-e.free.fr!not-for-mail
Subject: Re: champ de bits...
From: "Pierre Maurette" <maurettepierre@wanadoo.fr>
References: <433442ce$0$12992$7a628cd7@news.club-internet.fr> <4334462d$0$24227$626a14ce@news.free.fr> <dh2gbt$6f6$1@reader1.imaginet.fr>
Newsgroups: fr.comp.lang.c
Message-ID: <mn.c2627d590d12cbdb.31483@laposte.net>
X-Newsreader: MesNews/1.04.00.00
Date: Sat, 24 Sep 2005 10:10:52 +0200
MIME-Version: 1.0
X-Face: cmi$3R1_J{[}5K|8d'LDiJ$SsZ*gn,j*PhJ#KVGt+45,E_N9O}GrhhQ>fb&q<&lz=g%PEv' u"m)N|KrBMux?2:E?N7Uw3L#H>L#GwM}<qH-?#_Y$B9]$q1"~iUGtN#HVy?}7.`m&iKF>gY:.`W.qu z`1'W'h-AXPmB]#7~<+@H.<0M`-jBkCWbmkcT_*LBVD3|p1a?h1H;cHq{$-vbeP@Hdcqp5z~lwU7ZK `~
Reply-To: maurettepierre@wanadoo.fr
Content-Type: text/plain; charset="iso-8859-15"; format=flowed
Content-Transfer-Encoding: 8bit
X-Antivirus: avast! (VPS 0538-7, 23/09/2005), Outbound message
X-Antivirus-Status: Clean
Lines: 34
Organization: Guest of ProXad - France
NNTP-Posting-Date: 24 Sep 2005 10:09:14 MEST
NNTP-Posting-Host: 84.7.237.227
X-Trace: 1127549354 news18-e.free.fr 29535 84.7.237.227:3096
X-Complaints-To: abuse@proxad.net