Deutsch English Français Italiano |
<v6pcmg$2jl67$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> Newsgroups: comp.lang.c Subject: =?UTF-8?Q?Re=3A_technology_discussion_=E2=86=92_does_the_world_need?= =?UTF-8?B?IGEgIm5ldyIgQyA/?= Date: Thu, 11 Jul 2024 12:44:16 -0700 Organization: A noiseless patient Spider Lines: 36 Message-ID: <v6pcmg$2jl67$2@dont-email.me> References: <v66eci$2qeee$1@dont-email.me> <v67gt1$2vq6a$2@dont-email.me> <v687h2$36i6p$1@dont-email.me> <v68sjv$3a7lb$1@dont-email.me> <v6a76q$3gqkm$6@dont-email.me> <87plrruvmt.fsf@nosuchdomain.example.com> <v6argi$3ngh6$5@dont-email.me> <v6crb5$1gpa$1@dont-email.me> <v6kma1$1jcln$7@dont-email.me> <v6lcg3$1qhmn$1@dont-email.me> <v6nhbr$29e0c$3@dont-email.me> <v6oo01$2fja8$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 11 Jul 2024 21:44:17 +0200 (CEST) Injection-Info: dont-email.me; posting-host="9e4d47bab28597d7f8b7db1375a7cff9"; logging-data="2741447"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/v7uO2p3j3JqqCi8QUoQrbiuHypSVdIeQ=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:iLHRA9Sj0aLPWsESwqWATcYBSR8= Content-Language: en-US In-Reply-To: <v6oo01$2fja8$1@dont-email.me> Bytes: 2920 On 7/11/2024 6:50 AM, bart wrote: > On 11/07/2024 03:51, Lawrence D'Oliveiro wrote: >> On Wed, 10 Jul 2024 03:16:18 -0400, James Kuyper wrote: >> >>> On 7/9/24 20:57, Lawrence D'Oliveiro wrote: >>> >>>> On Sat, 6 Jul 2024 21:34:29 -0400, James Kuyper wrote: >>>> >>>>> On many platforms, if _Alignof(type) is less than the word size, then >>>>> a C pointer to that type is implemented as the combination of the >>>>> machine address of the correct word, combined with an offset within >>>>> that word of the first byte of that object. >>>> >>>> Which is a terrific idea, except it cannot be carried to its logical >>>> conclusion (addressing of arbitrarily-aligned dynamically-defined >>>> bitfields) because of the requirement in the C spec that the size of a >>>> “byte” be at least 8 bits. >>> >>> I will grant you that I failed to mention the fact that this is a >>> feasible way of implementing C only on platforms with a word size of 16 >>> bits or longer. >> >> Don’t you think C needs a better way of handling bitfields than >> shift-and- >> mask? > > Yes. But because it's not hard for a million programmers to each create > their own macros like GETBIT and SETBIT, that's not going to happen. > > Although bit operations are unusual in other languages too. [...] Fwiw, the last time I really used them was for special lock/wait-free algorithms. Stealing bits from pointers and aligning and passing structures on special boundaries.