Re: lun - Lucky Number

Liste des GroupesRevenir à s crypt 
Sujet : Re: lun - Lucky Number
De : 333200007110-0201 (at) *nospam* ybtra.de (Marcel Logen)
Groupes : sci.crypt
Date : 16. Mar 2025, 12:15:16
Autres entêtes
Organisation : Bureau Logen
Message-ID : <87msdlb59m.fsf@pc-731.ybtra.de>
References : 1 2 3 4 5 6 7 8 9 10
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Richard Heathfield in sci.crypt:

On 15/03/2025 19:44, Marcel Logen wrote:

[...]

Okay. In C, ! is the `not' operator.

I was aware of that. So I thought that the double exclamation
mark was superfluous.

0 is false, 1 is true, non-zero is true, but not true is false. So:
                        ^^^^^^^^^^^^^^^^
This is probably the crucial point.

x = 6;
printf("%d", x); prints 6.
printf("%d", !x); prints 0 because not non-zero is false.
printf("%d", !!x); prints 1 because not not non-zero is true.
>
So !!x maps 0 to 0 and everything else to 1. If you're printing
bits, it's just the job.

A good trick! So a kind of normalization, AFAICS.

[...]

#define BIT_QRY(x,i) ((x[(i)>>3] & (1<<((i)&7)))!=0)
#define BIT_SET(x,i) (x)[(i)>>3]|=(1<<((i)&7))
#define BIT_CLR(x,i) (x)[(i)>>3]&=(1<<((i)&7))^0xFF
[...]
Say i is 77, which is
>
01001101
>
i >> 3 gives us 00001001, or 9.
i & 7 gives us 00000101, or 5.
>
So these macros respectively query, set, or clear bit 5 of byte 9
(counting from x).
>
A somewhat hurried explanation, so feel free to ask further.

I'll take a closer look at this. For now, your explanation is
good enough for me. Thanks.

Marcel
--
Sun Mar 16 12:15:16 2025 CET (1742123716)
pc-731
87 msdl b59m
Lines: 52

Date Sujet#  Auteur
8 Mar 25 * lun - Lucky Number44Stefan Claas
8 Mar 25 +* Re: lun - Lucky Number2Stefan Claas
8 Mar 25 i`- Re: lun - Lucky Number1Stefan Claas
8 Mar 25 `* Re: lun - Lucky Number41Rich
8 Mar 25  +* Re: lun - Lucky Number38Stefan Claas
8 Mar 25  i+* Re: lun - Lucky Number14Stefan Claas
8 Mar 25  ii+* Re: lun - Lucky Number2Richard Heathfield
8 Mar 25  iii`- Re: lun - Lucky Number1Stefan Claas
8 Mar 25  ii`* Re: lun - Lucky Number11Rich
8 Mar 25  ii `* Re: lun - Lucky Number10Richard Heathfield
9 Mar 25  ii  `* Re: lun - Lucky Number9Rich
9 Mar 25  ii   +- Re: lun - Lucky Number1Richard Heathfield
10 Mar 25  ii   +- Re: lun - Lucky Number1Chris M. Thomasson
11 Mar 25  ii   `* Re: lun - Lucky Number6Ben Bacarisse
11 Mar 25  ii    `* Re: lun - Lucky Number5Rich
11 Mar 25  ii     `* Re: lun - Lucky Number4Richard Heathfield
11 Mar 25  ii      +* Re: lun - Lucky Number2Rich
11 Mar 25  ii      i`- Re: lun - Lucky Number1Richard Harnden
11 Mar 25  ii      `- Re: lun - Lucky Number1Chris M. Thomasson
8 Mar 25  i+* Re: lun - Lucky Number19Richard Heathfield
8 Mar 25  ii`* Re: lun - Lucky Number18Stefan Claas
8 Mar 25  ii +* Re: lun - Lucky Number2Chris M. Thomasson
8 Mar 25  ii i`- Re: lun - Lucky Number1Chris M. Thomasson
9 Mar 25  ii `* Re: lun - Lucky Number15Richard Heathfield
9 Mar 25  ii  `* Re: lun - Lucky Number14Stefan Claas
9 Mar 25  ii   +* Re: lun - Lucky Number3Stefan Claas
9 Mar 25  ii   i`* Re: lun - Lucky Number2Stefan Claas
9 Mar 25  ii   i `- Re: lun - Lucky Number1Stefan Claas
12 Mar 25  ii   `* Re: lun - Lucky Number10Richard Heathfield
15 Mar 25  ii    `* Re: lun - Lucky Number9Marcel Logen
15 Mar 25  ii     `* Re: lun - Lucky Number8Richard Heathfield
16 Mar 25  ii      `* Re: lun - Lucky Number7Marcel Logen
16 Mar 25  ii       `* Re: lun - Lucky Number6Richard Heathfield
16 Mar 25  ii        `* Re: lun - Lucky Number5Marcel Logen
16 Mar 25  ii         `* Re: lun - Lucky Number4Richard Heathfield
16 Mar 25  ii          `* Re: lun - Lucky Number3Marcel Logen
17 Mar 25  ii           `* Re: lun - Lucky Number2Richard Heathfield
17 Mar 25  ii            `- Re: lun - Lucky Number1Marcel Logen
8 Mar 25  i`* Re: lun - Lucky Number4Rich
8 Mar 25  i `* Re: lun - Lucky Number3Marcel Logen
9 Mar 25  i  `* Re: lun - Lucky Number2Rich
9 Mar 25  i   `- Re: lun - Lucky Number1Marcel Logen
8 Mar 25  `* Re: lun - Lucky Number2Richard Heathfield
8 Mar 25   `- Re: lun - Lucky Number1Chris M. Thomasson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal