QAQTAT
本帖最后由 QAQTAT 于 2013-6-22 20:57 编辑

      
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。

                                                                                                                                                             by - 百度百科

       凡是对红石有深入研究的大触,对二进制应该并不陌生。大部分红石机械如果运用十进制会显得庞大且麻烦,若采用二进制则可简便许多。
       首先声明,如果喜欢用机器计算二进制的,请右上角叉叉不谢。PS:此教程不包含任何MC内容,但对单机MC有帮助。PPS:如果火星版主就删了吧。PSP:大触请无视。


       传统二进制算法是这样的。将一个数用短除法接连取半,剩下的余数从下至上拼凑起来便是这个数的二进制。
       列:139
2 139(139/2=69(余1)) 1        139/2=69......12 69 1                                          69/2=34.......1
2 34 0                                          34/2=17.......0
2 17 1                                          17/2=8......1
2 8 0                                            8/2=4......0
2 4 0                                            4/2=2......0
2 2 0                                            2/2=1......0
   1                                                             1
得出:139的二进制位:10001011

       当然我也找出了一种更简便的方法,下面为大家展示一下计算一下。
       列:178
       128 64 32 16 8 4 2 1
178  1    0   1   1  0 0 1 0


178当中包含了1个128,1个32,1个16,一个2。
2+16+32+128=178
       这种方法很明显比前面一种方便快捷的多。由上面都是除以二才想出来的方法,以2的n次方与原数相减,便能取得其二进制数。
我们来尝试一下更大的数


       列:5573
          4096 2048 1024 512 256 128 64 32 16 8 4 2 1
5573   1      0      1       0    1     1    1   0   0  0  1 0 1


大数字也同样适用~~~

   
       当然此方法的作用还不仅限于此,在二转十上就更突出了它的优势。
       传统法,列:111001
1*2的0次方=1
1*2的1次方=2
1*2的2次方=4
0*2的3次方=0
0*2的4次方=0
1*2的5次方=32
111001的十进制为:1+2+4+0+0+32=57


       简便法,列:
32 16 8 4 2 1
1   1  1  0 0 1
32+16+8+1=57


是不是简单了许多捏?

       赶紧去试试捏~~~祝大家成为二进制专家~~





Evan丶桑
右叉了~

y941655052
顶楼主(虽然小学六年级看不懂)

su3155323
y941655052 发表于 2013-6-22 21:01
顶楼主(虽然小学六年级看不懂)

楼主也是六年级的= =

y941655052
你怎么知道??
楼主好强大的说!!(其实主要是我看到一大堆数字很头晕就不想看了)

sylqiuyifeng
由18世纪德国数理哲学大师莱布尼兹发现
其实不是应该是发明吗……
发现是原来就在的东西
发明是创造了没有的东西

sylqiuyifeng
其实这种方法不就是把2转10的步骤倒转来做吗……
事实上用短除法比较方便计算……真的,特别是越大
你要把2一路增加次方也不是容易做的事情……而且之后还要相减……

994523036
本帖最后由 994523036 于 2013-6-22 21:26 编辑

你这样可能很多小白看不懂..   我来详细的说下...   

     69    (余1)      【什么叫做余?  就是计算到小数点之前就行了 除不尽的数我们就叫他余数...】
     ___                      } 1
2√139


余1  后  剩下68   取半  34

     17    (没余  也就是0 )
     ___                                  } 0
2√ 34

如此...   算到最后  把这些余数从下至上连起来    得出139的二进制 10001011   

这样的算法 叫做二进制算法里的短除法...          【此L专门为不懂二进制的小白设置的..】
二进制算法经常运用在MC里的红石电路...   【虽然我懂...  但...  就是懒得去搭那么大的电路...】



PTmissionary
好吧,又是小白教程。
有意义不会删的。
能再来发帖大好评。

994523036
sylqiuyifeng 发表于 2013-6-22 21:23
其实这种方法不就是把2转10的步骤倒转来做吗……
事实上用短除法比较方便计算……真的,特别是越大
你要把 ...

这本来就是短除法来着...   

Coerce
用计算机吗?

719823597
这个不是新算法  很普通的  一般书里都写的是这种  用权值进行运算  

sylqiuyifeng
719823597 发表于 2013-6-22 21:54
这个不是新算法  很普通的  一般书里都写的是这种  用权值进行运算


出来打脸了……

第一页 上一页 下一页 最后一页