#
前言
图灵机,又称图灵计算、图灵计算机,是由数学家阿兰·麦席森·图灵(1912~1954)提出的一种抽象计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人们进行数学运算。 所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。提示:以下是本篇文章正文内容,下面案例可供参考
一、题目内容
对于XN*2图灵机进行模拟,任意给定的十进制数a,转换为收缩扩展二进制的编码,再编程模拟此Turing机的运行过程,要求输出从开始运行起的每一步骤的结果。
二、算法分析:
1.指令
• 0 0 —> 0 0 R
• 0 1 —> 1 0 R
• 1 0 —> 0 1 R
• 1 1 —> 10 0 R
• 10 0 —> 11 1 R
• 11 0 —> 0 1 STOP
2.分析
(1)输入一个10进制的数字
(2)将10进制转换成2进制
(3)将2进制数转换成二进制扩展码
(4)进行XN*2操作
(5)最后再将得到的二进制扩展码转换成二进制,然后转换为十进制转换
3.程序框图
三、源代码:
代码如下(示例):
public class TuringXNx2 {
public static void main(String[] args) {
Number n=new Number();//创建对象用户进行输入
int i=0,memory=0;
n.binary();
//创建三个字符串,分别用来存放计算前的二进制编码和计算后的二进制编码以及计算后的二进制数
String binarycode1=n.getBinarycode();
n.binaryPrint();
StringBuffer binarycode = new