Postgres uses 1 bit per NULL value, though the reality is more complex as everything is padded for alignment. So fewer than 8 nullable columns are free, and above that you pay probably 8 bytes at once (I'm not totally sure on the exact numbers here).
So for Postgres it is generally true that storing NULLs is very cheap in most cases.
So for Postgres it is generally true that storing NULLs is very cheap in most cases.