複製鏈接
請複製以下鏈接發送給好友

BF

(Brainfuck語言簡稱)

鎖定
Brainfuck是一種極小化的計算機語言,它是由Urban Müller在1993年創建的。由於fuck在英語中是髒話,這種語言有時被稱為brainf*ck或brainf***,甚至被簡稱為BF。
外文名
BrainFuck
概    述
一種極小化的計算機語言
發明者
Urban Müller
縮    寫
BF

目錄

BF簡介

Müller的目標是建立一種簡單的、可以用最小的編譯器來實現的、符合圖靈完全思想的編程語言。這種語言由八種狀態構成,為Amiga機器編寫的編譯器(第二版)只有240個字節大小。
就像它的名字所暗示的,brainfuck程序很難讀懂。儘管如此,brainfuck圖靈機一樣可以完成任何計算任務。雖然brainfuck的計算方式如此與眾不同,但它確實能夠正確運行。
這種語言基於一個簡單的機器模型,除了指令,這個機器還包括:一個以字節為單位、被初始化為零的數組、一個指向該數組的指針(初始時指向數組的第一個字節)、以及用於輸入輸出的兩個字節流。
這種 語言,是一種按照“Turing complete(完整圖靈機)”思想設計的語言,它的主要設計思路是:用最小的概念實現一種“簡單”的語言,BrainF**k 語言只有八種符號(< > + - [ ] . , ),所有的操作都由這八種符號的組合來完成。
詳見brainfuck 詞條。

BF字符標識

下面是這八種狀態的描述,其中每個狀態由一個字符標識:
Brainfuck語言字符標識
字符
含義
>
指針加一
<
指針減一
+
指針指向的字節的值加一
-
指針指向的字節的值減一
.
輸出指針指向的單元內容(ASCⅡ碼)
,
輸入內容到指針指向的單元(ASCⅡ碼)
[
如果指針指向的單元值為零,向後跳轉到對應的]指令的次一指令處
]
如果指針指向的單元值不為零,向前跳轉到對應的[指令的次一指令處
(按照更節省時間的簡單説法,"]"也可以説成“向後跳轉到對應的"["狀態”。這兩解釋是一樣的。)
(第三種同價的説法,"["意思是"向前跳轉到對應的"]"",]意思是"向後跳轉到對應的[指令的次一指令處,如果指針指向的字節非零。")