内行看门道,外行看热闹的脑肏 brainfuck

讨论 我不是赌鬼
Lv5 宗师级炼丹师
发布在 综合   946   0
讨论 我不是赌鬼   946   0

    来不及了,直接用brainfuck撸一串代码来输出字符串“KUXAI”

    +++++ +++++            
    [                   
        > +++++ +++                         
    < -                  
    ]
    > ----- .                
    ++++++++++ .                 
    +++ .            
    -----------------------.                      
    +++++ +++ .这段代码真的是输出KUXAI

    undefined

    不信的话,大家自己去网页上编译一下,要不然我乱说你们也不知道.

    undefined

    brainfuck估计是世界上最简单(最难)的计算机语言了,它的所有命令就只有8种:

    undefined

    接着,我们来简单的解析一下输出KUXAI的那段代码

    +++++ +++++           一开始指针默认在0位,0位的默认值是0,现在做10次+1运算
    [                   
        > +++++ +++       指针向右移动1位,做8次+1运算
    < -                   指针向左移动1位(指向了0位),做1次-1运算
    ]                     指针指向的位置的数值不为0则跳到[处,即[]内的运算要进行10次
                          跳出[]循环的时候,位置1的值已经变成80了,
    > ----- .             右移1位,做5次-1运算变成75(ascii),并以字符形式显示在终端,K
    ++++++++++ .          做10次+1运算变成85(后面就不写了)
    +++ .            
    -----------------------.                      
    +++++ +++ .这段代码真的是输出KUXAI

    为什么我先用循环把第1位的初始值加到80呢,因为,我担心我的手会按“+”按抽筋。

    显然,我在写代码的时候已经查到了KUXAI的ASCII值,作为一个程序员,真的拿着对照表去看是一件很没品的事 ,下面,我们用python求出字符串的ascii值

    >>> ascii_list=list(map(ord,list('KUAXI')))
    >>> print(ascii_list)
    [75, 85, 65, 88, 73]

    说了这么多,我们还没有脱离热闹的层次,所谓brainfuck的门道,是它可以加深 我们对“图灵完备”的理解。这种语言看着有些无厘头,可是它确实图灵完备的,说人话就是它可以解决任何计算问题。 不过,本文不准备展开讲图灵完备的概念,毕竟我是个看热闹的人。

    版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

    参与讨论

    回复《 内行看门道,外行看热闹的脑肏 brainfuck

    EditorJs 编辑器

    沙发,很寂寞~
    反馈
    to-top--btn