uint64_t x = 0x7ff0000000000000ULL;
printf("%f\n", *(double *)&x);
output: inf
But you could use a representation where 0 is 0, and 1 is infinity, saving 63 bits...It just feels really bad faith.
Computing is fundamentally about decoding bit strings as different arbitrary representations that are meaningful to humans.
The course on reading and using lambda calculus is similarly longer than than the actual lambda calculus expression