[4] 码农与数学 - Puriney/practiCe-PAT GitHub Wiki

了不起的取余

逆序也好转换小时分钟也罢, 领略了 %/的作用. 回味起前一阵子闯到的酷壳上的COOLSHELL/SHELL等于几的谜题, 这本质是一个26进制.

找到COOLSHELL和SHELL对应的数字并作除法很简单,得到的数字返回去找字符就有点儿让我抓瞎. 坦言我当时是手工二分法试出来的. 其实这里就可以用到 %/ 层层分解出每一个数位上的字母.

不明觉厉的BCD

BCD原来是Binary-coded Decimal. 我本以为这是老师出题时自创地一个概念, 类似GRE数学. 本着GRE数学的功底隐约察觉到BCD本质就是16进制的所见即所得的表现形式.

18(Dec) = 10010(Bi) = 0x12(hex)

10010在存储时因为每4 bits存储,所以实际存在电脑里形式是0001 0010. 前后四位分别转换成10进制即可, 即是BCD数.

而恰好, 这与真十六进制的表现型相符.

所以在[0, 153]之间, BCD其实就是取了基因型为十六进制的表现型.


感觉不是智商被碾压, 而是我拉低了整个人类水平