🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15520

Re: champ de bits...

#15520
From: Pierre Maurette
Date: Sat, 24 Sep 2005 08:10
32 lines
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-mail
References: <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