• Re: Loops (was Re: do { quit; } else { })

    From Michael S@3:633/280.2 to All on Sun Jun 15 05:27:20 2025
    On Sat, 14 Jun 2025 13:57:56 GMT
    scott@slp53.sl.home (Scott Lurndal) wrote:

    Bonita Montero <Bonita.Montero@gmail.com> writes:
    Am 10.06.2025 um 15:01 schrieb Tim Rentsch:

    Consider the following program:

    #include <stdio.h>
    #include <string.h>

    typedef unsigned long long ULL;
    ULL hello = ((((0ULL +'o' <<8) +'l' <<8) +'l' <<8) +'e' <<8) +
    'h';

    int
    main(){
    printf( "length is %zu\n", strlen( (char*)&hello ) );
    return 0;
    }

    On a little endian machine (with CHAR_BIT == 8) this program works,
    and TTBOMK conforms to both the letter and the spirit of the C
    standard, without any undefined behavior (on that platform). Yet
    there are no arrays in sight, and certainly no array objects.

    There are not much remaining big-endian architectures today.

    Ethernet is big-endian at the byte level and little-endian
    at the bit level.


    802.3 frames are big-endian, because of Length field.
    Several orders of magnitude more popular Ethernet II frames are
    endian-neutral.


    --- MBSE BBS v1.1.1 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)
  • From Bonita Montero@3:633/280.2 to All on Sun Jun 15 17:32:39 2025
    Am 14.06.2025 um 15:57 schrieb Scott Lurndal:
    Bonita Montero <Bonita.Montero@gmail.com> writes:
    Am 10.06.2025 um 15:01 schrieb Tim Rentsch:

    Consider the following program:

    #include <stdio.h>
    #include <string.h>

    typedef unsigned long long ULL;
    ULL hello = ((((0ULL +'o' <<8) +'l' <<8) +'l' <<8) +'e' <<8) + 'h'; >>>
    int
    main(){
    printf( "length is %zu\n", strlen( (char*)&hello ) );
    return 0;
    }

    On a little endian machine (with CHAR_BIT == 8) this program works,
    and TTBOMK conforms to both the letter and the spirit of the C
    standard, without any undefined behavior (on that platform). Yet
    there are no arrays in sight, and certainly no array objects.

    There are not much remaining big-endian architectures today.

    Ethernet is big-endian at the byte level and little-endian
    at the bit level.

    However, little-endian is simply the smarter concept.

    --- MBSE BBS v1.1.1 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)