⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_5b_6b.java

📁 用java实现HDB3的编译码和5B6B码
💻 JAVA
字号:
import java.io.*; 
import java.util.Scanner; 
  public class M_5B_6B{ 
	public static void main(String[] args) {
	int MSXS[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	String[][] Biao={{" 010111"," 101000"},{" 100111"," 011000"},{" 011011"," 100100"},{" 000111"," 000111"},{" 101011"," 010100"},{" 001011"," 001011"},{" 001101"," 001101"},{" 001110"," 001110"},{" 110011"," 001100"},{" 010011"," 010011"},{" 010101"," 010101"},{" 010110"," 010110"},{" 011001"," 011001"},{" 011010"," 011010"},{" 011100"," 011100"},{" 101101"," 010010"},{" 011101"," 100010"},{" 100011"," 100011"},{" 100101"," 100101"},{" 100110"," 100110"},{" 101001"," 101001"},{" 101010"," 101010"},{" 101100"," 101100"},{" 110101"," 001010"},{" 110001"," 110001"},{" 110010"," 110010"},{" 110100"," 110100"},{" 111001"," 000110"},{" 111000"," 111000"},{" 101110"," 010001"},{" 110110"," 001001"},{" 111010"," 000101"}};
		

	
	int ML,a0,a1,a2,a3,a4,a;

	Scanner s = new Scanner(System.in); 
	System.out.print("请输入二进制码流的长度(注:应为5的倍数):");
	ML=s.nextInt();

	int[] Ma_Liu= new int[ML]; 
	String b2; 
	Scanner sc = new Scanner(System.in); 
	System.out.print("请输入二进制码流:"); 
	b2 = sc.nextLine(); 
	for (int i = 0; i < ML; i ++) { 
		char b=b2.charAt(i); 
		Ma_Liu[i]=Integer.parseInt(b+"");
	}
	System.out.print("5B6B码:");
	for (int j = 0; j< ML/5; j++){
	     a0=Ma_Liu[5*j];a1=Ma_Liu[1+5*j];a2=Ma_Liu[2+5*j];a3=Ma_Liu[3+5*j];a4=Ma_Liu[4+5*j];
	     a=16*a0+8*a1+4*a2+2*a3+a4;
	     switch(a){
		case 0:if(MSXS[0]%2==0){System.out.print(Biao[0][0]);MSXS[0]++;}
			  	   else{System.out.print(Biao[0][1]);MSXS[0]++;}break;
		case 1:if(MSXS[1]%2==0){System.out.print(Biao[1][0]);MSXS[1]++;}
			  	   else{System.out.print(Biao[1][1]);MSXS[1]++;}break;
		case 2:if(MSXS[2]%2==0){System.out.print(Biao[2][0]);MSXS[2]++;}
			  	   else{System.out.print(Biao[2][1]);MSXS[2]++;}break;
		case 3:if(MSXS[3]%2==0){System.out.print(Biao[3][0]);MSXS[3]++;}
			  	   else{System.out.print(Biao[3][1]);MSXS[3]++;}break;
		case 4:if(MSXS[4]%2==0){System.out.print(Biao[4][0]);MSXS[4]++;}
			  	   else{System.out.print(Biao[4][1]);MSXS[4]++;}break;
		case 5:if(MSXS[5]%2==0){System.out.print(Biao[5][0]);MSXS[5]++;}
			  	   else{System.out.print(Biao[5][1]);MSXS[5]++;}break;
		case 6:if(MSXS[6]%2==0){System.out.print(Biao[6][0]);MSXS[6]++;}
			  	   else{System.out.print(Biao[6][1]);MSXS[6]++;}break;
		case 7:if(MSXS[7]%2==0){System.out.print(Biao[7][0]);MSXS[7]++;}
			  	   else{System.out.print(Biao[7][1]);MSXS[7]++;}break;
		case 8:if(MSXS[8]%2==0){System.out.print(Biao[8][0]);MSXS[8]++;}
			  	   else{System.out.print(Biao[8][1]);MSXS[8]++;}break;
		case 9:if(MSXS[9]%2==0){System.out.print(Biao[9][0]);MSXS[9]++;}
			  	   else{System.out.print(Biao[9][1]);MSXS[9]++;}break;
	        case 10:if(MSXS[10]%2==0){System.out.print(Biao[10][0]);MSXS[10]++;}
			  	     else{System.out.print(Biao[10][1]);MSXS[10]++;}break;
		case 11:if(MSXS[11]%2==0){System.out.print(Biao[11][0]);MSXS[11]++;}
			  	     else{System.out.print(Biao[11][1]);MSXS[11]++;}break;
	        case 12:if(MSXS[12]%2==0){System.out.print(Biao[12][0]);MSXS[12]++;}
			  	     else{System.out.print(Biao[12][1]);MSXS[12]++;}break;
	        case 13:if(MSXS[13]%2==0){System.out.print(Biao[13][0]);MSXS[13]++;}
			  	     else{System.out.print(Biao[13][1]);MSXS[13]++;}break;
	        case 14:if(MSXS[14]%2==0){System.out.print(Biao[14][0]);MSXS[14]++;}
			  	     else{System.out.print(Biao[14][1]);MSXS[14]++;}break;
	        case 15:if(MSXS[15]%2==0){System.out.print(Biao[15][0]);MSXS[15]++;}
			  	     else{System.out.print(Biao[15][1]);MSXS[15]++;}break;
	        case 16:if(MSXS[16]%2==0){System.out.print(Biao[16][0]);MSXS[16]++;}
			  	     else{System.out.print(Biao[16][1]);MSXS[16]++;}break;
	        case 17:if(MSXS[17]%2==0){System.out.print(Biao[17][0]);MSXS[17]++;}
			  	     else{System.out.print(Biao[17][1]);MSXS[17]++;}break;
	        case 18:if(MSXS[18]%2==0){System.out.print(Biao[18][0]);MSXS[18]++;}
			  	     else{System.out.print(Biao[18][1]);MSXS[18]++;}break;
	        case 19:if(MSXS[19]%2==0){System.out.print(Biao[19][0]);MSXS[19]++;}
			  	     else{System.out.print(Biao[19][1]);MSXS[19]++;}break;
	        case 20:if(MSXS[20]%2==0){System.out.print(Biao[20][0]);MSXS[20]++;}
			  	     else{System.out.print(Biao[20][1]);MSXS[20]++;}break;
	        case 21:if(MSXS[21]%2==0){System.out.print(Biao[21][0]);MSXS[21]++;}
			  	     else{System.out.print(Biao[21][1]);MSXS[21]++;}break;
	        case 22:if(MSXS[22]%2==0){System.out.print(Biao[22][0]);MSXS[22]++;}
			  	     else{System.out.print(Biao[22][1]);MSXS[22]++;}break;
	        case 23:if(MSXS[23]%2==0){System.out.print(Biao[23][0]);MSXS[23]++;}
			  	     else{System.out.print(Biao[23][1]);MSXS[23]++;}break;
	        case 24:if(MSXS[24]%2==0){System.out.print(Biao[24][0]);MSXS[24]++;}
			  	     else{System.out.print(Biao[24][1]);MSXS[24]++;}break;
	        case 25:if(MSXS[25]%2==0){System.out.print(Biao[25][0]);MSXS[25]++;}
			  	     else{System.out.print(Biao[25][1]);MSXS[25]++;}break;
	        case 26:if(MSXS[26]%2==0){System.out.print(Biao[26][0]);MSXS[26]++;}
			  	     else{System.out.print(Biao[26][1]);MSXS[26]++;}break;
	        case 27:if(MSXS[27]%2==0){System.out.print(Biao[27][0]);MSXS[27]++;}
			  	     else{System.out.print(Biao[27][1]);MSXS[27]++;}break;
	        case 28:if(MSXS[28]%2==0){System.out.print(Biao[28][0]);MSXS[28]++;}
			  	     else{System.out.print(Biao[28][1]);MSXS[28]++;}break;
	        case 29:if(MSXS[29]%2==0){System.out.print(Biao[29][0]);MSXS[29]++;}
			  	     else{System.out.print(Biao[29][1]);MSXS[29]++;}break;
	        case 30:if(MSXS[20]%2==0){System.out.print(Biao[30][0]);MSXS[30]++;}
			  	     else{System.out.print(Biao[30][1]);MSXS[30]++;}break;
	        case 31:if(MSXS[31]%2==0){System.out.print(Biao[31][0]);MSXS[31]++;}
			  	     else{System.out.print(Biao[31][1]);MSXS[31]++;}break;
		default:System.out.print("!!!");	     
	      }
	 } 
} }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -