标题关于二进制收缩扩展二进制编码进行XN+1或XN*2图灵机的实现。
Code类:
package Turing_Machine;
import java.util.*;
public class Code {
int input_num; //input_num存储输入的十进制整形
String code; //code存储整形转换为二进制的字符串
String extend_code = ""; //extend_code存储收缩扩展二进制编码
public Code(int number){
input_num = number;
code = Integer.toBinaryString(number);
for (int i = 0; i < code.length(); i++) {
//转换收缩扩展二进制编码
switch (code.charAt(i)){
case '0' :
extend_code = extend_code + '0';
break;
case '1' :
extend_code = extend_code + "10";
break;
}
}
extend_code = extend_code + "110"; //逗号结尾在末尾加上110
}
void XN_plus_1(){
System.out.println("以下是对" + input_num + "的扩展二进制码的XN+1操作:");
Map map = new HashMap(); //建立XN+1的指令映射
map.put("00","00R");
map.put("01","11R");
map.put("10","00R");
map.put("11","101R");
map.put("100","110L");
map