Wait till you here about every ascii letter. . .
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
what about them?
ASCII was originally a 7-bit standard. If you type in ASCII on an 8-bit system, every leading bit is always 0
.
(Edited to specify context)
At least ASCII is forward compatible with UTF-8
Ascii needs seven bits, but is almost always encoded as bytes, so every ascii letter has a throwaway bit.
We need to be able to express 0 and 1 as integers so that functionality is just being overloaded to express another concept.
Wait until the person who made this meme finds out about how many bits are being wasted on modern CPU architectures. 7 is the minimum possible wasted bits but it would be 31 on every modern computer (even 64b machines since they default to 32b ints).
This guy never coded in KEIL C on an 8051 architecture. They actually use bit addressable RAM for booleans. And if you set the compiler to pass function parameters in registers, it uses the carry flag for the first bit or bool type parameter.
I swore I read that mysql dbs will store multiple bools in a row as bit maps in one byte. I can't prove it though
3GPP has an interesting way of serialising bools on the wire with ASN.1
NULL OPTIONAL
meaning only the type would be stored if true, otherwise it won't be set at all
Wait till you realise the size of SSD sectors
...or you can be coding assembler - it's all just bits to me
pragma(pack) {
int a:1, b:1, ... h:1;
}
IIRC.
7 Shades of Truth
Redundancy is nice in the event of bitflip errors
Is the redundancy used for bools? I mean in actual practice.
iunno ¯_(ツ)_/¯
I mean is it really a waste? What's minimum amount of bits most CPUs read in one cycle.
Pl/1 did it right:
Dcl 1 mybools, 3 bool1 bit(1) unaligned, 3 bool2 bit(1) unaligned, … 3 bool8 bit(1) unaligned;
All eight bools are in the same byte.