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.
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.
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 14 |
Nodes: | 8 (0 / 8) |
Uptime: | 46:09:15 |
Calls: | 178 |
Files: | 21,502 |
Messages: | 79,006 |