r/ProgrammerHumor 2d ago

Meme bugIntroducedDebugging

Post image
1.1k Upvotes

120 comments sorted by

View all comments

Show parent comments

6

u/meat-eating-orchid 2d ago

technically, an int could even be just one byte if you are on an architecture where a byte (= smallest addressable unit) has 16 bit

4

u/CanardAuxEpices 2d ago

Yeah! But a char will always be one byte

2

u/mckenzie_keith 2d ago

We need to define terms more precisely. sizeof(char) will always be 1. But on some platforms, char is not an 8-bit type. It could actually be a 32 bit type. The c programming language does not (I believe) acknowledge or define what a byte is. But if it is an 8 bit integer type, then char will not always be one byte.

It may be better to say "octet" instead of "byte" in this type of discussion.

The implementation has to define CHAR_BIT in <limits.h>. CHAR_BIT is the number of bits in variables of type "char".

2

u/CanardAuxEpices 2d ago

You're brobably right. To be honest, I keep confusing myself with bytes and bit cause I'm french and here we use octet. Plus, my C classes starts getting quite far, but I just remembered the fun fact, I'll go check properly because it actually made me curious.