一些事实

大家都知道在计算机里,正数的最高为0,负数的最高位为一。
这个个非常有趣的事情。有一本《编码》的书曾专门谈论这些问题。

正负与中国传统阴阳的关系

最高位定位为阴阳位。占位为阴,空位为阳。(现实生活拟物思维不一样,一般1为男性,0为女性。不过占位为1的思想更原始,1表示有,0表示无。)
剩下的数位都是:000,0000 ~ 111,1111 的递增。
这种编码方法,很自然的每个数加1进位。按照自然整数递增往上。

先看计算机对负数的表达:

表示自然数阴阳属性
1000,0000-1281个1,7个0,极阴。符号为阴
1000,0001-127
1000,0010-126
......
......
1111,1110-2
1111,1111-1
0000,00000万物初生,生物最开始都是从细胞分裂开始。亦阳亦阴
0000,00011阳。符号位为阳
0000,00102
0000,00113
......
......
0111,1111...极阳

为什么函数里通常以 -1 作为错误码。

因为 -1 在内存中显示为,1111,11111。非常有特征。
gdb查看,或者一些错误捕捉能很快的让人记住。
计算机的前辈们应该就是看到了这个特点。
从POSIX,标准库等函数的使用都可以看到这个影子。

标签: none

添加新评论