异星工厂信号网络电路教程
目录
一:红绿信号线。
二:判断运算器。
三:加减乘除。
四:余数,次方。
五:左移右移。
六:按位与,按位或,按位异或。
这游戏的信号网络,怎么说,算是最具灵魂的玩法之一了,直奔正题吧。
一:红绿信号线。
一个基本的控制系统,最少需要三种元素”输出信号”,“信号传输”,“接收信号”。
在factorio游戏里,最简单的用法就是化工厂的重油裂解了。
用一根线连接储液管和管道泵,将重油裂解的管道泵设置成”重油大于轻油”则启用,将轻油裂解的泵设置成”轻油大于石油气”则启用,一个智能化工厂就完成了。
在这里储液罐就是输出端,红绿信号线相当于传输,管道泵就是接收信号(被控端)。

二:判断运算器。
判断运算器算是基本电路用法了,有大于小于等于,接收装置本身就自带一个判断。
但是判断运算器的玩法有很多,有时候只设置接收装置的判断是不够的,比如:“SR锁存”,“寄存器”,“自循环”。
只要分清楚输出”常量1”和”输入数值”有什么区别就可以了。
常量1就是只要判断通过,就输出指定信号,值为1。
选择”输入数值”就相当于开关,判断通过,就让信号通过。这一部分有很多教程,自学简单,如果你真的有兴趣,请多花点时间。

三:加减乘除。
讲算术运算器之前,我们先一起来学一下”数学”,数学在很多地方都是通用的,只不过每个场景的表达方式不一样,其实它们都是一个东西,我整理了一些数据,这里面每一行所对应的就是同一种计算。
“1+2”是加法,“一加二”也是加法,“C=A+B”也是加法,只不过是书写方式不一样。


余数,次方:其实这两个也是初中的知识。
余数是什么,假如你有230压岁钱,异星工厂游戏99元一份,最多能买2份,剩32元,32就是余数(大于99就再买一份,一直买,最后有点实在用不完的,就是余数)。
次方,5的4次方=5x5x5x5,5的3次方=5x5x5。
余数其实是很有用的一种运算,一般我是用来”分组”,比如说有20个地方需要铁板,有5辆火车,那么我只要给每个需求站和火车定一个编号,然后车站编号”余”火车编号,就很清楚知道,这个站需要铁板的时候派哪一辆车出发。AAI玩家表示无脑吹就是了。
四:左移右移。
左移右移其实很好理解,先将十进制数字转换成二进制,然后看下图。
左移右移就是这样。
进制转换,举个栗子,我们用瓶子装水,假如有1688毫升水。
每个瓶子能装10毫升,10个瓶子装一箱,10箱一车,这就是十进制,就等于1车+6箱+8瓶+8毫升,十进制就是1688。
同理,如果一个瓶子能装16毫升,16瓶一箱,16箱一车,这就是十六进制,就等于6箱+9瓶+8毫升,十六进制就是698。
那么二进制就是11010011000,没毛病吧。

这就是”函数”,每个函数给数值的定义不一样,异星工厂里的运算器采用的是”int”函数,这是一个32位,第一位是符号位的函数。参考资料:游戏安装目录\doc-html\Builtin-Types.html
用77为例,在带符号位的函数里,第一位表示正负,后面的表示数值。
正数用普通的二进制数表示,那么lnt函数的77二进制是: 00000000000000000000001110110011,
负数用”补码”形式保存,补码=取反+1,所以负77的二进制是 11111111111111111111110001001101。

它们的区别就是:
循环移位,不考虑符号位,挤出去的用来补后面的。
逻辑移位,挤出去的扔了,拿0来补。
算术移位,左移和逻辑移位一样,右移时挤出去的不要了,符号位无限复制,用来补。
游戏里的运算器是什么运算器,大佬们比我更清楚。
有没有发现,如果进行移位,会有一部分跑数据跑屏幕外边了,然后有一部分空格没有内容。
有趣的地方来了,进行左移运算的时候,前面的数据是有可能跑到符号位去的,就比如77左移25位。
结果就是,电脑看到符号位是1,就觉得这是个负数,就一顿猛如虎的操作,减1取反试图还原,结果还原成这个鬼样子。


六:按位与,按位或,按位异或。
与或非门其实没有想象中那么难,它就是字面意思,不需要编程知识的。
“与”就是 并且,而且。“或”,就是或者。“非”,就是不一样。
唯一需要注意的就是,与门也分为”逻辑与”,“按位与”两种。
逻辑与就是只考虑0和1两种情况,只有”yes”和”no”,或者说是”真”,“假”,也能写成”true”,“flash”,不要换一种写法就看不懂了,一般用于判断。
按位与就是两个数字,对应个十百千万位,每一位进行判断,然后输出结果(当然,是二进制的个十百千万)。
在逻辑运算中:
与门(AND):只有2个数字都是1,结果才是1。
或门( OR ):只要2个数字其中一个是1,结果就是1。
非门(NOT):非门只有一个数字,给我1就还你0,给我0就还你1。
异或(XOR):两个数字不一样,结果就是1。
同或(XNOR):两个数字一样,结果就是1。
门电路其实不止这么几种,但是其它的复杂门可以用这几种”基本零件”组合而成,所以工厂的电路系统还是偷工减料了啊。
就拿按位与为例。
算术运算的按位运算就是对应每一位进行运算,然后最终结果转换成十进制显示出来,不管是按位与按位或还是其它的什么,道理都是一样的,包括符号位。
这些”门”真的就是字面意思,我们完全不需要看什么真值表,只不过很多时候我们就是下意识的觉得太复杂了,没有用心去研究。


77左移2位等于308。

77右移两位等于19。

77左移25位,左移的时候某个1跑到符号位了,由于储存方式问题,读取出来显示时就会变成负数。


由于截图容易放大了看不清,贴上所用的excel表格,大家按需取用。
示例.xlsx