奇妙的二进制
老鼠毒药问题
有100瓶液体,其中99瓶是水,一瓶是毒药。老鼠喝完毒药,不会立刻死亡,一周以后才会死亡。
给你一周的时间,你最多需要多少只老鼠才能试出拿一瓶液体是毒药?
解题思路
- 将1,2,3,4….100瓶液体进行编号,先把所有数字转换成二进制数再依次编号
- 二进制数从右往左保留七位,这样就构成如下排列
液体数字编号 | 二 | 进 | 制 | 数 | 字 | 编 | 号 |
---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
5 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
… | … | .. | .. | .. | .. | .. | .. |
99 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
100 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
老鼠编号 | 1号老鼠 | 2号 | 3号 | 4号 | 5号 | 6号 | 7号 |
- 将七只老鼠分别放在每一列的列号下,每只老鼠只喝老鼠所在列的液体。
- 等待一周后看每一列老鼠死亡情况即可得出结果
结果分析
- 当1,3,5死亡,说明1号老鼠所喝列中必有一瓶液体为毒药,同理3,5号老鼠所在列都有一瓶液体为毒药
- 推出毒药液体瓶的编号为
1010100
(2)转换成十进制结果为: 84.
进制转换问题
- 十进制如何转换成二进制
- 将数字除以
2
,或者>>>1
- 将数字除以
十进制数字 | 除以2后得到的商 | 余数 |
---|---|---|
17 | 8 | 1 |
4 | 0 | |
2 | 0 | |
1 | 0 | |
0 | 1 |
将得到的余数==从底向上==排列得到最终的二进制结果为:
10001
(2)二进制转换成十进制
- 以
1011
(2)为例
- 以
二进制的来源
- 莱布尼茨(微积分创始人-和牛顿还在争夺)
中国的八卦与二进制
- 符号编码
标记 | Unicode | JIS X 0213 | HTML | 名称 |
---|---|---|---|---|
⚊ | U+268A |
⚊ ⚊ |
MONOGRAM FOR YANG | |
⚋ | U+268B |
⚋ ⚋ |
MONOGRAM FOR YIN |
- 八卦
- 八卦与二进制
☷ | ☶ | ☵ | ☴ | ☳ | ☲ | ☱ | ☰ | |
八卦 | 坤 | 艮(gen) | 坎 | 巽(xun) | 震 | 離 | 兌 | 乾 |
四象 | 太阴 | 少阳 | 少阴 | 太阳 | ||||
兩儀 | 陰 | 阳 | ||||||
太極 | 太极 | |||||||
二进制 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
- 六十四卦
伏羲先天 | 六十四卦排列方位圖表 | 〈方圓四分四層圖〉 | — | — | — | — | — | |
---|---|---|---|---|---|---|---|---|
![]() 坤(地) |
![]() 艮(山) |
![]() 坎(水) |
![]() 巽(風) |
![]() 震(雷) |
![]() 離(火) |
![]() 兌(澤) |
![]() 乾(天) |
← 上卦 ↓ 下卦 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |