|
本帖最后由 有趣的灵魂 于 2019-8-24 16:26 编辑
最近发现了一个神奇的语言叫Brainfuck
Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF。
根据我个人的研究它有以下特点:
一、简单易学;
Brainfuck只有八个指令,任何一个智力正常的人(无论你有没有编程基础)只需要20分钟的学习就能手动编译Brainfuck程序,1小时就能写BrainFuck,两天就能成为专家;
二、可读性强;
前提是你的Brainfuck程序排版得好且有很多注释,所以,下一个优点——
三、可以培养你良好的Coding习惯;
对于初学编程的人,这一点是非常必要的;
四、可以轻松加密;
为什么它叫Brainfuck就是这个原因,用Brainfuck写的脚本、程序永远不会怕被二改,因为去掉注释与排版就是一堆无意义的符号,你甚至可以在代码中间任意插入汉字、英文、数字、特殊符号而不影响程序的正常运行;
五、可以轻松嵌入;
随便拿一种语言,Java、C++、Python...写出的Brainfuck编译器不会超过1KB,可以轻松嵌入其他程序,作为编写脚本、插件所使用的语言。
六、锻炼脑力。
正如它的名字Brainfuck,“(健)脑操”一样,写了无害,多谢健脑。
举一个例子,刚写的输出“MT Manager”的Brainfuck程序(点击可以在线运行)
- +++++++ //将第一个字节赋值为7
- [>+++++++++++<-] //将第二个字节赋值为7*11=77
- > //小心溢出!
- [<+>-] //将第二个字节的值移动到第一个字节
- <. //返回第一个字节并输出,即M
- [>>+<<-] //第一位移到第三位
- >>[<+<+>>-]< //还给前一、二位,然后指针移到第二位
- +++++++. //加7(T)后写出
- [>>] //跳着查找最近的空字节,即第三位
- ++++
- [<++++++++>-]<. //4*8=32,即空格,输出
- <<. //第一位的M
- [>>] //第五位
- ++++++++++
- [<++++++++++>-]
- <---. //10*10再减3就是97,即a
- [>>+<<-]
- >>[<+<+>>-]< //复制算法
- +++++++++++++. //加上13变成n
- <. //a已经在前面一个字节
- ++++++. //a加6变成g
- --. //g减2变成e
- > //n比e距离r要近,所以指针右移
- ++++. //n加4变成r
复制代码 现在我们把注释与排版去掉:
- +++++++[>+++++++++++<-]>[<+>-]<.[>>+<<-]>>[<+<+>>-]<+++++++.[>>]++++[<++++++++>-]<.<<.[>>]++++++++++[<++++++++++>-]<---.[>>+<<-]>>[<+<+>>-]<+++++++++++++.<.++++++.--.>++++.
复制代码 我说了很易于加密吧!
还没完
- MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543+987625431[MT论坛9876543215987643>254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643<254987631-543MT论坛987621543]987625431>MT论坛9876543215987643[254MT论坛987631<543987621543+MT论坛987625431>9876543215MT论坛987643-254987631]543MT论坛987621543<987625431.MT论坛9876543215987643[254MT论坛987631>543987621543>MT论坛987625431+9876543215MT论坛987643<254987631<543MT论坛987621543-987625431]MT论坛9876543215987643>254MT论坛987631>543987621543[MT论坛987625431<9876543215MT论坛987643+254987631<543MT论坛987621543+987625431>MT论坛9876543215987643>254MT论坛987631-543987621543]MT论坛987625431<9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431.9876543215MT论坛987643[254987631>543MT论坛987621543>987625431]MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643[254987631<543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543>987625431-MT论坛9876543215987643]254MT论坛987631<543987621543.MT论坛987625431<9876543215MT论坛987643<254987631.543MT论坛987621543[987625431>MT论坛9876543215987643>254MT论坛987631]543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643[254987631<543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643>254MT论坛987631-543987621543]MT论坛987625431<9876543215MT论坛987643-254987631-543MT论坛987621543-987625431.MT论坛9876543215987643[254MT论坛987631>543987621543>MT论坛987625431+9876543215MT论坛987643<254987631<543MT论坛987621543-987625431]MT论坛9876543215987643>254MT论坛987631>543987621543[MT论坛987625431<9876543215MT论坛987643+254987631<543MT论坛987621543+987625431>MT论坛9876543215987643>254MT论坛987631-543987621543]MT论坛987625431<9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431+9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631.543987621543<MT论坛987625431.9876543215MT论坛987643+254987631+543MT论坛987621543+987625431+MT论坛9876543215987643+254MT论坛987631+543987621543.MT论坛987625431-9876543215MT论坛987643-254987631.543MT论坛987621543>987625431+MT论坛9876543215987643+254MT论坛987631+543987621543+MT论坛987625431.
复制代码
|
|