Minecraft(我的世界)中文论坛

标题: 【TRP小组】负堆叠——渣模信号的研究

作者: 阿散ASun    时间: 2015-11-15 13:02
标题: 【TRP小组】负堆叠——渣模信号的研究
本帖最后由 阿散ASun 于 2015-11-27 22:22 编辑

大家好,我是来自TRP的sine qua non,今天给大家带来的是一套关于负信号强度(以下统称为渣模)的黑科技
事实上在很早以前乙烯就已经研究过负堆叠了,而当时研究以“不能输出”而告终
而后来在阿散和resens,pac的研究下,负强度信号终于找到得以应用的方法

首先渣模可以通过
  1. /give @p minecraft:command_block 1 0 {display:{Name:"Analogue Command Block"},BlockEntityTag:{SuccessCount:信号强度}}
复制代码
或者
  1. setblock ~ ~1 ~ dispenser 1 replace {Items:[{id:物品,Slot:0b,Count:物品数量}]}
复制代码
这两个指令来产生,渣模仅能在比较器中体现,传递到红石上会强行降级为0
而针对第二条指令来说,物品数量与输出强度是按照输出强度公式的,即向下取整(1 + (容器内的物品数量 / (容器的物品槽总数 * 64)) * 14)
特别要注意的是当物品数量为0时输出的强度为1

接下来讲一下渣模的具体使用方法
之前在对于渣模的运算可行性进行测试时得出"无法进行运算"结论的原因是因为忽视了比较器的因素


首先讲一下比较器的减法模式的比较原理
比较器再进行减法运算之前,会优先判断两侧输入的信号强度大小,若无输入则判定为0
在以前的实验当中仅仅只有对一端输入一个渣模信号,而另一侧则默认为0
比较器在比较了两边的输人大小之后选择了0来进行减法运算,故运算结果与实际不符
而解决以上问题的方案就是对于比较器两侧输入相同的渣模信号

渣模的运算演示

此外,通过渣模可以证明出0强度的信号不能用于运算之中
两侧的命令方块输出为-214,如能正确运算的话输出将为214,然而输出却仍为15
渣模信号不能通过减法产生

命令方块输出的模红信号强度为21,15-(15-21)-15=0
可以看出0强度的信号不能用于运算之中,且渣模信号不能通过减法来产生
最后讲一些渣模的一些特性
渣模信号无法体现在红石当中,且红石元件无法对其进行相应

渣模信号产生时比较器的状态改变不能用于更新


↑可以看到TEUD根本没有反应

产生的渣模信号仅能传递一格的比较器
而这个属性决定了渣模每次只能进行一次运算,且不能储存在比较器环当中
渣模所能达到的最低信号强度为-2^31+1,即-2147483647,与强模的最高信号强度相对
而模红运算的计算范围为-2147483647~2147483647,超出计算范围的运算结果将与正常的运算结果相异
而在由指令刷出的负堆叠物品当中,若单元格内物品数量小于-128,则重新进入存档时容器内的物品数量会变为0在用渣模进行侧面屏蔽的实验时,发现结果依然是正常的

再次验证了侧面屏蔽的结论
渣模在比较器比较模式下的体现

【图中两侧的命令方块输出为-214,第三个命令方块的输出为-256】
与强模不同的是,渣模是可以进行具体的比较的

渣模信号的优点在于改变了模加的原理,运用了负负得正的方法使单纯比较器的加法成为可能另外还提供了一种全新的得到强模的方法,运用比较器的减法模式即可得到
然而渣模仍具有很大的局限性,传输距离有限,产生方式麻烦,而且需要在两侧对比较器输入



渣模之所以叫渣模的原因是为了与强模相对而取的名字,其实是当时在和pac开玩笑的时候提出来的
当时在群里说“渣模指的就是信号强度为负数的模红信号”然而那个时候比较器还不能读取负堆叠
所以发现渣模运算的可行性之后就将负信号强度的模红信号称为渣模




特别感谢@719823597 度度所提供的检测信号强度的mod
@pacerrecap @乙烯_中国 感谢pac和乙烯提供思路
@Resens resens 感谢resens的援助





[groupid=143]The Redpixel[/groupid]
作者: chyx    时间: 2015-11-15 13:05
本帖最后由 chyx 于 2015-11-15 13:07 编辑

打开了新的领域
不过应该是提升为0而不是降为0

和强膜相对啊233


可以让比较器信号提升好评

作者: 阿散ASun    时间: 2015-11-15 13:55
chyx 发表于 2015-11-15 13:05
打开了新的领域
不过应该是提升为0而不是降为0

确实如此0.0
作者: 961844279    时间: 2015-11-15 14:09
本帖最后由 961844279 于 2015-11-15 14:14 编辑

阿散的第一条指令好像少了一个花括号..
正确的应为   /give @p minecraft:command_block 1 0 {display:{Name:"Analogue Command Block"},BlockEntityTag:{SuccessCount:信号强度}}
最右边少了个花括号

作者: 阿散ASun    时间: 2015-11-15 14:18
961844279 发表于 2015-11-15 14:09
阿散的第一条指令好像少了一个花括号..
正确的应为   /give @p minecraft:command_block 1 0 {display:{Nam ...

soga,弄的时候弄错了0.0谢谢提醒
作者: dongduoduo2011    时间: 2015-11-15 14:40
0 0用起来好麻烦
作者: 13206194858    时间: 2015-11-15 19:16
又是一个只有点点回复的精华...
我表示看不懂
我对命令持一种能用就行的态度,对这些高级领域感觉无爱
作者: zkxn    时间: 2015-11-15 20:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: jianghr    时间: 2015-11-15 21:44
本帖最后由 jianghr 于 2015-11-15 21:47 编辑

这个原先好像讨论过-1堆的情况,不过只能传1格还是比较蛋疼。
能做累加确实好评,比起必须用“高屋建瓴”的原先模电减法可以通过累加实现更平滑(不考虑上限的方式)地获取高模。还是要依赖指令稍微有点遗憾。如果能实现现有数取反的话,我觉得可能会有重大的突破。

作者: NobleGolden    时间: 2015-11-17 10:07
高能0.0{:10_493:}
作者: 侑阳    时间: 2015-11-17 21:56
刷新了我mc三观啊
作者: jimmyzhong    时间: 2015-11-17 22:25
本帖最后由 jimmyzhong 于 2015-11-17 22:26 编辑

你们发这些平民看不懂的帖子就算了,尼玛回复好多也没看懂
在这些非地球语前
是在下输了
作者: Danger_S.M    时间: 2015-11-18 20:47
探测负的信号然而能用在什么呢?
作者: Creepers’king    时间: 2015-11-18 23:22
可啪,这黑科技不玩红石的是搞不懂了
作者: 绅士囧    时间: 2015-11-19 10:38
这个厉害,属于黑科技了
作者: 柠檬。    时间: 2015-11-19 13:21
是在下输了。
作者: Funny_Sen    时间: 2015-11-19 18:58
虽然看不懂 但是好牛逼
作者: 太帅是罪过    时间: 2015-11-19 19:59
看不懂2333好吧我只是一个来凑字数的2333,O(∩_∩)O哈哈~这个真心不错~~~手动32个赞!!!
作者: hear_brave    时间: 2015-11-20 06:41
红石烧脑= =
作者: 天上琳琅    时间: 2015-11-20 14:55
可恶,里面每个字都认识,为什么放在一起就完全看不懂了呢(捶地)
作者: 阿散ASun    时间: 2015-11-20 15:17
jianghr 发表于 2015-11-15 21:44
这个原先好像讨论过-1堆的情况,不过只能传1格还是比较蛋疼。
能做累加确实好评,比起必须用“高屋建瓴”的 ...

取反感觉现在不大可能做得到
渣模转强模是完全没问题的,可是反过来就难了
1.9又改了比较器的代码不知道技术能不能进一步成熟0.0
作者: 硝烟即世    时间: 2015-11-20 17:13
mc太深奥了!
作者: qxdnfsy    时间: 2015-11-20 17:44
大触跪了,还有渣模
作者: 圣骑士686    时间: 2015-11-20 22:40
活跃气氛

作者: Poison_Broken    时间: 2015-11-21 09:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 酉月一    时间: 2015-11-23 13:57
永远看不懂红石咋玩
作者: 丁哥最帅    时间: 2015-11-26 11:16
高能o.o,吓死宝宝了!
作者: asd1761646247    时间: 2015-11-26 16:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: 龙腾猫跃    时间: 2015-11-27 10:32
我同学说你是她媳妇
为什么有pca……
作者: 龙腾猫跃    时间: 2015-11-27 10:33
脑洞啊……
作者: Cai_Iu    时间: 2015-11-27 21:16
大触...
看不懂
作者: 阿散ASun    时间: 2015-11-27 23:14
龙腾猫跃 发表于 2015-11-27 10:32
我同学说你是她媳妇
为什么有pca……

你同学是怎么回事......
作者: 龙腾猫跃    时间: 2015-11-28 09:23
阿散ASun 发表于 2015-11-27 23:14
你同学是怎么回事......

头像233333
作者: 黑星nova    时间: 2015-11-29 11:09
其实这个负信号的概念给了我一种负电荷的感觉。这样来看的话红石系统又在一定程度上接近了现实中的电路。不过这个负堆叠到底是mc的程序编写漏洞还是mojang有意为之还是很耐人寻味啊。
作者: tqwz    时间: 2015-12-1 05:46
961844279 发表于 2015-11-15 14:09
阿散的第一条指令好像少了一个花括号..
正确的应为   /give @p minecraft:command_block 1 0 {display:{Nam ...

eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeasda爱是对的上的
作者: langyo    时间: 2015-12-1 21:42
渣模………………这新词………………

你们的想象力是这个帖子能获得精华的7成原因

3成是因为小组研发……

至少我这么认为……



学到了………………666666……
作者: 阿散ASun    时间: 2015-12-4 05:51
langyo 发表于 2015-12-1 21:42
渣模………………这新词………………

你们的想象力是这个帖子能获得精华的7成原因

主要是开拓了新领域啊,之前虽然有负堆叠但是没有办法输出啊0.0
而且负强度能够参与运算不是一个突破么
作者: 鳥妖    时间: 2015-12-4 18:13
我从头看到尾

我只能说:

这些都是啥,一个都看不懂
作者: langyo    时间: 2015-12-4 19:06
阿散ASun 发表于 2015-12-4 05:51
主要是开拓了新领域啊,之前虽然有负堆叠但是没有办法输出啊0.0
而且负强度能够参与运算不是一个突破么 ...

这样子红石的模拟信号运算就更上一步了~支持~

以后看来模电也可能要与数电平齐了~虽然只是时间问题……



在你们有更了不得的成果之前,我暂时只能活跃在数电一边,因为你看我签名档更新的什么鬼东西(万年坑啊QAQ)……

最后稍稍吐槽一句,模电能进行逻辑运算么?……
作者: 阿散ASun    时间: 2015-12-5 16:16
langyo 发表于 2015-12-4 19:06
这样子红石的模拟信号运算就更上一步了~支持~

以后看来模电也可能要与数电平齐了~虽然只是时间问题……

事实上模红在运算上比数电更胜一筹,用模红实现逻辑运算不难但是推荐使用数电的经典方案√
所以在压缩电路时会根据实际情况来选择运用模红还是数电,更多时候则是混合使用
作者: langyo    时间: 2015-12-5 20:23
阿散ASun 发表于 2015-12-5 16:16
事实上模红在运算上比数电更胜一筹,用模红实现逻辑运算不难但是推荐使用数电的经典方案√
所以在压缩电 ...

不过你忽略了一个问题,首先模电没办法进行逻辑运算,这对以后发展汇编语言是很不好的,因为没办法使用IF...GOTO...

模电在进行数值运算虽然更好,但是为了……反正数电也有其不可替代地优点:稳定
模电……我越看越感觉像电话线信号了……
作者: 阿散ASun    时间: 2015-12-5 23:06
langyo 发表于 2015-12-5 20:23
不过你忽略了一个问题,首先模电没办法进行逻辑运算,这对以后发展汇编语言是很不好的,因为没办法使用IF ...

模红可以进行逻辑运算的,并不是不能实现,而且实现方法也不复杂
只是没必要而已......
你好像不是很理解我说的话
作者: langyo    时间: 2015-12-6 13:03
阿散ASun 发表于 2015-12-5 23:06
模红可以进行逻辑运算的,并不是不能实现,而且实现方法也不复杂
只是没必要而已......
你好像不是很理解 ...

那好吧

先等我数电全部研究完成后再说
作者: ttjk2002    时间: 2015-12-6 21:02
表示看不懂啊....这种科技很可怕
作者: Craftwolves    时间: 2015-12-13 13:05
感觉红石有些难。。。