用Hutton32玩转数字电路(二):逻辑器件

上篇文章介绍了怎样在Hutton32中搭建与或非门,下面我们就用它们的组合来做一些有趣的事情吧。(比如一个完全平方数计算器!)

异或、同或门

A异或B就是不同为1,相同为0。逻辑表达式为 (A & ~B) | (~A & B)。但注意这里需要两个非门,而非门的体积大和延迟长,所以我们化简一下表达式得到只用一个非门实现异或:(A | B) & ~(A & B);同或也类似:~(A | B) | (A & B)。

有基本的逻辑门我们就能够制作各种组合逻辑、时序逻辑电路了!下面是我做的一些器件:

锁存器

Read More

用Hutton32玩转数字电路(一):逻辑门

  最近看到有人用Minecraft里面的红石电路制作出了计算器,还有一篇神文:《基于Minecraft实现的计算机工程》,视频在此,好像还能算浮点数、三角函数。我对红石不是太了解,那能不能用Hutton32做一个呢?经过不断尝试现在我的成果时能做出一个简单的加减法计算器和Ascii码显示阵列。
加减法计算器 Ascii码显示阵

什么是Hutton32?

Read More

缺电子星球Vs富电子星球

  在大熊座方向,距地球几十光年处的M82雪茄星系边缘,有一个孤独的恒星系统。这个恒星系统中除了位于中心的恒星外,还有两颗绕着恒星公转的行星,一颗叫缺电子星球,是暗绿色的,另一颗叫富电子星球,是银白色的。它们的公转轨道几乎重合,甚至它们的公转周期也几乎相同,这就导致了它们公转时永远位于中心的恒星的两侧,永远无法“碰面”。
它们并不真正缺电子,因为它们都不带电,这两颗星球上的质子数是等于电子数的,然而组成它们的化学物质确有强烈的得失电子的欲望。这两颗星球还有个名字——氧化剂星球和还原剂星球。
  这两个星球表面都有液态物质。缺电子星球表面被暗绿色的高锰酸酐的海洋所覆盖,大气中含有大量氟气和氧气、五氧化二氮、三氧化硫二氧化氖等气体。海洋中混有少量浓硫酸和$MnO_3^+$,海洋中零星分布着高锰酸钾、重铬酸钾岛屿,而海底则蕴含着高铁酸盐、高氯酸盐、超氧化物等矿物。而富电子星球则有着银色的钾钠合金的海洋,海洋中含少量铯、铷、钫、汞、镁、烷基钠、烷基锂,海底沉积着大量的钠块、单质铯、焦炭、氢化钠、四氢锂铝礁石,星球内部有着液态镁铝合金构成的内核,大气主要成分为氩气、“单质”铵和极少的氢气,硅烷、短链烃。
然而,一次偶然间,有一个大质量“光粒”(或“质量点”)从仙女座附近的椭圆星系M32方向以近似光速的速度飞过M82雪茄星系, 这个恒星系统中两颗行星的轨道受到了微弱影响,它们轨道周期发生了微小偏差而错位,轨道相位差减小,彼此慢慢靠近。终于在过了两千多万个时间颗粒后,两个星球进入了互相的引力范围,它们将在不到10个时间节点的时间内相撞!这是两颗星球无法改变的最后的宿命。

Read More

反演地球

  这是一个特殊的世界。在这个世界里你同样头顶着蓝天,脚踏着土地,看起来并没有什么不同——但这个世界却又完全不同。你之所以现在没有察觉出任何异样,是因为这个世界的任何局部都和我们熟知的世界看起来是相同的。

  然而,其实这个世界的每一个局部,甚至每一个分子、每一寸真空的性质都与我们熟知的世界完全不同。因为这个世界中真空都是具有质量的!且真空的密度最大,气体的密度次之,液体密度更小,固体的密度最小,刚好和我们的世界相反。这些古怪的性质并不妨碍你站在这个世界的土地上。因为你仍然受重力,但你所受到的“重力”其实是来自空气的“浮力”——因为其实你在一个星球的内部!

Read More

四维空间(八):参观四维国

注意,这篇文章中的有些内容纯属想象,里面有很多漏洞,不要当真。

大概内容

  • 天体力学
  • 地理及交通
  • 常见建筑、物品及文字
  • 机械运动
  • 四维空间中的电磁场

  我们对四维几何体已经有了比较全面的了解。现在试想有一天你被邀请去参观四维国,并了解他们的文化与科学技术这会是怎样的一番体验?
在浩瀚的四维宇宙中,零星散布着一些星系。你要参观的那个星球就在某一个星系当中。那个星球是一个超球,它也绕着一颗恒星旋转。

Read More

自我描述的代码(in javascript)

  自我描述的代码(Quine)就是程序运行时可以打印自己的源代码。网上有很多C语言、C#版的,我准备写一个javascript版本的。

题外话:eval函数/无限递归

  javascript是解释型语言,它有一个很牛的函数eval():它能把接受到的字符串当成javascript代码执行。我想出了这段代码:

1
s="eval(s)";eval(s);

  我们可以在任何浏览器上做这个实验:在地址栏输入javascript:s="eval(s)";eval(s);即可。(快试试吧。。)

Read More

解释《维度》预告片

  《维度》系列的最后一集是一个预告片:Dimensions II ——它的内容不是后来出的《混沌》(chaos),而是《维度》制作者之一——数学家Étienne Ghys的最新研究成果。这些内容就更深奥了,我估计他们可能不会出这集了。我在《维度》另一个制作者Jos Leys的网站上找到了介绍预告片中出现的图形(即Étienne Ghys的最新研究成果)的文章:

(我一直很奇怪我画出的modular动力系统的轨道与判别式三叶结为什么会靠得很近,检查了很多遍代码都没找到原因)
  大家感兴趣还想深入下去可以看一些关于椭圆函数、模形式的书,建议参阅潘承洞的《模形式导引》(网上有pdf,我前三章还能看懂,后面就看不懂了)

Read More

四维空间(七):N维的向量

图片来自en.wikipedia:多重向量几何意义

# 本系列文讨论的是纯空间上的几何,但本文将要涉及的k-向量的某些性质在四维时空中也成立(只是度规不一样)。本文对数学能力要求较高:将出现大量数学公式。k-向量在除相对论(时空)以外的物理上也有用武之地,详见CFY的文章角速度、轴矢量、2-矢量从另一个角度——物理学引入k-向量。

特色内容

  • “2维向量”来表示平面
  • 用向量内积外积计算夹角
  • 奇异(复合)的2-向量
  • 2-向量解析旋转

  该谈谈定量的四维空间计算问题了。它一方面可以检验我们几何直觉的正确性,不然我们的直觉只是在瞎猜而无证据;另一方面在编程计算四维图形中离不开计算。

Read More