Liste des Groupes | Revenir à cl c |
David Brown <david.brown@hesbynett.no> writes:True. But attempting to use a _Bool object (as a _Bool) that does not contain either 0 or 1 is going to be undefined behaviour (at least it was on the platform where I saw this happen as a code bug).
[...]A _Bool is always either 0 or 1. The conversion is whatever theThe value of a _Bool object is always either 0 or 1 *unless* the program
compiler needs to give an int of value 0 or 1.
does something weird.
C23 is a bit clearer about the representation of bool (still also calledThat's probably an implementation-defined issue, is it not?
_Bool) than previous editions. It states (draft N3220) that :
The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)-1
padding bits.
There are several ways to force a representation other than 00000000 or
00000001 into a _Bool object, including a union, memset(), or type
punning via a pointer cast.
C23 dropped the term "trap representation", replacing it with "non-value
representation" -- a reasonable change, since accessing a trap
representation is not guaranteed to cause the program to "perform a
trap" (defined as "interrupt execution of the program such that no
further operations are performed").
It doesn't specify whether setting the padding bits to 1 results in a
non-value representation.
If non-zero padding bits create a non-value representation, then
accessing a bool object holding such a representation has undefined
behavior. It could, among other things, yield the same value implied by
the representation as if it were an ordinary integer of the same size.
If there are no non-value representations, then only the
single value bit determines the value, which is either false or true.
As you mentioned, I expect that sizeof (bool) will normally be 1, but an
implementation could make it wider, e.g. with 1 value bit and 31 padding
bits.
Date | Sujet | # | Auteur | |
7 Aug 24 | how cast works? | 122 | Thiago Adams | |
7 Aug 24 | Re: how cast works? | 7 | Thiago Adams | |
7 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 5 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 4 | Vir Campestris | |
12 Aug 24 | Challenge/exercise problem - signum() function | 3 | Tim Rentsch | |
12 Aug 24 | Re: Challenge/exercise problem - signum() function | 2 | Lew Pitcher | |
12 Aug 24 | Re: Challenge/exercise problem - signum() function | 1 | Tim Rentsch | |
7 Aug 24 | Re: how cast works? | 107 | Dan Purgert | |
7 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro | |
8 Aug 24 | Re: how cast works? | 101 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 25 | Bart | |
8 Aug 24 | Re: how cast works? | 24 | Michael S | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 22 | Bart | |
8 Aug 24 | Re: how cast works? | 5 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 2 | Bart | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 16 | David Brown | |
8 Aug 24 | Re: how cast works? | 15 | Bart | |
9 Aug 24 | Re: how cast works? | 13 | David Brown | |
9 Aug 24 | Re: how cast works? | 9 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Lawrence D'Oliveiro | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 5 | David Brown | |
9 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 3 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
3 Sep 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 3 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | David Brown | |
10 Aug 24 | Re: how cast works? | 1 | Bart | |
9 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro | |
8 Aug 24 | Re: how cast works? | 75 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 74 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 72 | Bart | |
9 Aug 24 | Re: how cast works? | 47 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 38 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | David Brown | |
12 Aug 24 | Re: how cast works? | 1 | Bart | |
9 Aug 24 | Re: how cast works? | 29 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 14 | Bart | |
9 Aug 24 | Re: how cast works? | 3 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 2 | Bart | |
10 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 10 | James Kuyper | |
13 Aug 24 | Re: how cast works? | 1 | David Brown | |
13 Aug 24 | Re: how cast works? | 1 | Bart | |
13 Aug 24 | Re: how cast works? | 7 | James Kuyper | |
13 Aug 24 | Re: how cast works? | 6 | Bart | |
13 Aug 24 | Re: how cast works? | 5 | Keith Thompson | |
13 Aug 24 | Re: how cast works? | 4 | Bart | |
14 Aug 24 | Re: how cast works? | 3 | Tim Rentsch | |
14 Aug 24 | Re: how cast works? | 2 | Bart | |
18 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 12 | Kaz Kylheku | |
9 Aug 24 | Re: how cast works? | 9 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 8 | Kaz Kylheku | |
10 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 3 | Kaz Kylheku | |
10 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
10 Aug 24 | Re: how cast works? | 2 | Bart | |
13 Aug 24 | Re: how cast works? | 1 | David Brown | |
12 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
12 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | Bart | |
12 Aug 24 | Re: how cast works? | 2 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 1 | Bart | |
12 Aug 24 | Re: how cast works? | 8 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 7 | Bart | |
12 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 5 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 3 | Ben Bacarisse | |
12 Aug 24 | Re: how cast works? | 2 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 24 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 2 | Bart | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 19 | David Brown | |
9 Aug 24 | Re: how cast works? | 18 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 3 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 1 | David Brown | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 11 | David Brown | |
10 Aug 24 | Re: how cast works? | 10 | Bart | |
10 Aug 24 | Re: how cast works? | 9 | Thiago Adams | |
10 Aug 24 | Re: how cast works? | 8 | Bart | |
11 Aug 24 | Re: how cast works? | 7 | Thiago Adams | |
11 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | David Brown | |
8 Aug 24 | Re: how cast works? | 3 | Stefan Ram | |
7 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro |
Les messages affichés proviennent d'usenet.