Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: bart Newsgroups: comp.lang.c Subject: Re: "A diagram of C23 basic types" Date: Mon, 7 Apr 2025 19:02:34 +0100 Organization: A noiseless patient Spider Lines: 24 Message-ID: References: <87y0wjaysg.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 07 Apr 2025 20:02:34 +0200 (CEST) Injection-Info: dont-email.me; posting-host="d1797a780321cb7d5295ec883a418a71"; logging-data="380800"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+DzDK5r1jdvQ255ERjT7hW" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ZPGl26YreEKnwRvo6yVpqCHxeA4= Content-Language: en-GB In-Reply-To: Bytes: 1918 On 04/04/2025 04:01, Lawrence D'Oliveiro wrote: > On Wed, 2 Apr 2025 16:33:46 +0100, bart wrote: > >> Here, tell me at a glance the magnitude of >> this number: >> >> 10000000000 > > #define THOUSAND 1000 > #define MILLION (THOUSAND * THOUSAND) > #define BILLION (THOUSAND * MILLION) > > uint64 num = 10 * BILLION; > > Much easier to figure out, don’t you think? Try 20 * BILLION; it will overflow if not careful. I'd normally write '20 billion' outside of C, since I use such numbers, with lots of zeros, constantly when writing test code. But when it isn't all zeros, or the base isn't 10, then numeric separators are better.