您好,
阿里巴巴中国站和淘宝网会员帐号体系、《阿里巴巴服务条款》升级,完成登录后两边同时登录成功。查看详情>>
已解决问题 行业分类> 电脑网络 举报
maminxia1

Brainfuck是什么?

0 有同感 邀请回答
站外分享
浏览次数:1124
扫一扫
用手机阿里扫一扫

最满意答案

该答案已经被保护

  Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf***,甚至被简称为BF。

  Müller的目标是建立一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。这种语言由八种状态构成,为Amiga机器编写的编译器(第二版)只有240个字节大小!

  就象它的名字所暗示的,brainfuck程序很难读懂。尽管如此,brainfuck图灵机一样可以完成任何计算任务。虽然brainfuck的计算方式如此与众不同,但它确实能够正确运行。

  这种语言基于一个简单的机器模型,除了指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。

  下面是这八种状态的描述,其中每个状态由一个字符标识:

  字符 含义

  > 指针加一

  <; 指针减一

  + 指针指向的字节的值加一

  - 指针指向的字节的值减一

  . 输出指针指向的单元内容(ASCII码)

  , 输入内容到指针指向的单元(ASCII码)

  [ 如果指针指向的单元值为零,向前跳转到对应的]指令的次一指令处

  ] 如果指针指向的单元值不为零,向后跳转到对应的[指令的次一指令处

  (按照更节省时间的简单说法,"]"也可以说成"向后跳转到对应的"["状态"。这两解释是一样的。)

  (第三种同价的说法,"["意思是"向前跳转到对应的"]"",]意思是"向后跳转到对应的[指令的次一指令处,如果指针指向的字节非零。")

答案创立者

huacuotian
布衣 采纳率:100% 回答时间:
加关注

我来回答

 

 

专家义诊

快速解决你的电商难题

更多>
陈海杰 每周三

店铺优化排查提升2倍流量

擅长  店铺优化 向TA提问
您可能有同感的问题
    扫一扫用手机阿里看生意经
    问题排行榜

          当前问题的答案已经被保护,只有知县(三级)以上的登录用户可以编辑!写下您的建议,管理员会及时与您联络!

          收藏成功,问题有新内容时,将会留言提醒您!

          管理我的收藏
          server is ok