亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bch15_5.java

?? QRcode二維碼生成源代碼,一個做條形碼的代碼
?? JAVA
字號:
package jp.sourceforge.qrcode.codec.ecc;
public class BCH15_5 {
	int[][] gf16;
	boolean[] recieveData;
	int numCorrectedError;
	public BCH15_5(boolean[] source) {
		gf16 = createGF16();
		recieveData = source;
		//printBit("Recieve data", recieveData);		
	}
	
	public boolean[] correct() {
		int[] s = calcSyndrome(recieveData);
		
		int[] errorPos = detectErrorBitPosition(s);
		boolean[] output = correctErrorBit(recieveData, errorPos);
		return output;
	}
	
	int[][] createGF16() {
		gf16 = new int[16][4];
		int[] seed = {1, 1, 0, 0};
		for (int i = 0; i < 4; i++)
			gf16[i][i] = 1;
		for (int i = 0; i < 4; i++)
			gf16[4][i] = seed[i];
		for (int i = 5; i < 16; i++) {
			for (int j = 1; j < 4; j++) {
				gf16[i][j] = gf16[i - 1][j - 1];
			}
			if (gf16[i - 1][3] == 1) {
				for (int j = 0; j < 4; j++)
					gf16[i][j] = (gf16[i][j] + seed[j]) % 2;
			}
		}
		return gf16;
	}
	
	int searchElement(int[] x) {
		int k;
		for (k = 0; k < 15; k++) {
			if (   x[0] == gf16[k][0]
					&& x[1] == gf16[k][1]
					&& x[2] == gf16[k][2]
			    && x[3] == gf16[k][3]
				 ) break;
		}
		return k;
	}
	
  /*String getInputString() {
		String inputString = null;
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);
		try {
			inputString = br.readLine();
		} catch (IOException e){}
		return inputString;
  }*/
  
	/*public int getInput() {
		System.out.print("Input Number 0-127: ");
		String str = getInputString();
		int input = Integer.parseInt(str);
		return input;
	}*/
	
	int[] getCode(int input) {
		int[] f = new int[15];
		int[] r = new int[8];
		
		for (int i = 0; i < 15; i++) {
			//1 + x + x^3
			int w1, w2;
			int yin;
			
			w1 = r[7];
			if (i < 7) {
				yin = (input >> (6 - i)) % 2;
				w2 = (yin + w1) % 2;
			}
			else {
				yin = w1;
				w2 = 0;
			}
			r[7] = (r[6] + w2) % 2;
			r[6] = (r[5] + w2) % 2;
			r[5] = r[4];
			r[4] = (r[3] + w2) % 2;
			r[3] = r[2];
			r[2] = r[1];
			r[1] = r[0];
			r[0] = w2;
			f[14 - i] = yin;
		}
		return f;
	}
	
	static String[] bitName = {"c0", "c1", "c2","c3", "c4", "c5","c6", "c7", "c8", "c9", 
															"d0", "d1", "d2", "d3", "d4", };
	
//  static void printBit(String title, boolean[] bit) {
//		System.out.print(title+": ");
//		for (int i = 0; i < 15; i++) {
//			if (i == 5) System.out.print(" ");
//			System.out.print((bit[14 - i] == true) ? "1" : "0" );				
//		}
//		System.out.print("  (");
//		for (int i = 0; i < 15; i++) {
//			if (i == 5) System.out.print(" ");
//			System.out.print(bitName[14 - i]);				
//		}
//		System.out.println(")");
//	}
	
	int addGF(int arg1, int arg2) {		
		int[] p = new int[4];
		for (int m = 0; m < 4; m++) {
			int w1 = (arg1 < 0 || arg1 >= 15) ? 0 : gf16[arg1][m];
			int w2 = (arg2 < 0 || arg2 >= 15) ? 0 : gf16[arg2][m];
			p[m] = (w1 + w2) % 2;
		}
		return searchElement(p);
	}

	/*void addRandomError(boolean[] f) {
		Random random = new Random();
		random.setSeed(System.currentTimeMillis());
		
		int r;
		int numError = 3; //[TODO]change number of error and check
		
		for (int i = 0; i < numError; i++) {
			r = random.nextInt();
			if (r < 0) r = -r;
			if (r / (double)Integer.MAX_VALUE < 0.9) {
				int errorPos = r % 15;
				f[errorPos] = !f[errorPos];
			}	
		}
	}*/

	int[] calcSyndrome(boolean[] y) {
		int[] s = new int[5];
		int[] p = new int[4];
		int k;
		for (k = 0; k < 15; k++) {
			if (y[k] == true) for (int m = 0; m < 4; m++) 
				p[m] = (p[m] + gf16[k][m]) % 2;
		}
		k = searchElement(p);
		s[0] = (k >= 15)? -1 : k;
		/*System.out.println("SyndromeS1 = " + ((s[0] == -1) ?
				"0" : 
				"兛^" + String.valueOf(s[0]))
		);*/
		
		s[1] = (s[0] < 0) ? -1 : (s[0] * 2) % 15;
		/*System.out.println("SyndromeS2 = " + ((s[1] == -1) ?
				"0" : 
				"兛^" + String.valueOf(s[1]))
		);*/
		
		p = new int[4];
		for (k = 0; k < 15; k++) {
			if (y[k] == true) for (int m = 0; m < 4; m++) 
				p[m] = (p[m] + gf16[(k * 3) % 15][m]) % 2;
		}
			
		k = searchElement(p);

		s[2] = (k >= 15) ? -1 : k;
		/*System.out.println("SyndromeS3 = " + ((s[2] == -1) ?
				"0" : 
				"兛^" + String.valueOf(s[2]))
		);*/
		
		s[3] = (s[1] < 0) ? -1 : (s[1] * 2) % 15;
		/*System.out.println("SyndromeS4 = " + ((s[3] == -1) ?
				"0" : 
				"兛^" + String.valueOf(s[3]))
		);*/
		
		p = new int[4];
		for (k = 0; k < 15; k++) {
			if (y[k] == true) for (int m = 0; m < 4; m++) 
				p[m] = (p[m] + gf16[(k * 5) % 15][m]) % 2; 
		}
		k = searchElement(p);
		s[4] = (k >= 15)? -1 : k;
		/*System.out.println("SyndromeS5 = " + ((s[4] == -1) ?
				"0" : 
				"兛^" + String.valueOf(s[4]))
		);*/
		
		return s;
	}

	
	int[] calcErrorPositionVariable(int[] s) {
		int[] e = new int[4];
		// calc 冃1
		e[0] = s[0];
		//System.out.println("冃1 = " + String.valueOf(e[0]));
		
		// calc 冃2
		int t = (s[0] + s[1]) % 15;
		int mother = addGF(s[2], t);
		mother = (mother >= 15) ? -1 : mother;
		
		t = (s[2] + s[1]) % 15;
		int child = addGF(s[4], t);
		child = (child >= 15) ? -1 : child;
		e[1] = (child < 0 && mother < 0) ? -1 : (child - mother + 15) % 15;
		
		//System.out.println("冃2 = " + String.valueOf(e[1]));
		
		// calc 冃3
		t = (s[1] + e[0]) % 15;
		int t1 = addGF(s[2], t);
		t = (s[0] + e[1]) % 15;
		e[2] = addGF(t1, t);
		//System.out.println("冃3 = " + String.valueOf(e[2]));
		
		return e;
	}
	
	int[] detectErrorBitPosition(int[] s) {
		
		int[] e = calcErrorPositionVariable(s);
		int[] errorPos = new int[4];
		if (e[0] == -1) {
			//System.out.println("No errors.");
			return errorPos;
		}
		else if (e[1] == -1) {
			/*System.out.println("1 error. position is "+ 
					String.valueOf(e[0]) +
					" (" + bitName[e[0]] + ")")*/;
			errorPos[0] = 1;
			errorPos[1] = e[0];
			return errorPos;
		}
		//else {
			//System.out.println("2 or more errors.");			
		//}
		int numError = 0;
		int[] p;
		int x3, x2, x1;
		int t, t1, t2, anError;
		//error detection
		for (int i = 0; i < 15; i++) {
			//calc x^3 + 冃1*x^2 + 冃2*x + 冃3 = 0
			x3 = (i * 3) % 15;
			x2 = (i * 2) % 15;
			x1 = i;
			
			p = new int[4];
			
			t = (e[0] + x2) % 15;
			t1 = addGF(x3, t);
			
			t = (e[1] + x1) % 15;
			t2 = addGF(t, e[2]);
			
			anError = addGF(t1,t2);
			
			if (anError >= 15) {
				/*System.out.println("Error found. position is " + 
						String.valueOf(i) +
						"(" + bitName[i]+ ")");*/
				errorPos[0]++;
				errorPos[errorPos[0]] = i;
			}
		}
		
		return errorPos;
	}
	
	boolean[] correctErrorBit(boolean[] y, int[] errorPos) {
		//errorPos[0]偵僄儔乕偺悢丄errorPos[1],[2],[3]偵幚嵺偺埵抲偑擖偭偰偄傞
		for (int i = 1; i <= errorPos[0]; i++)
			y[errorPos[i]] = !y[errorPos[i]];
		
		numCorrectedError = errorPos[0];
		//printBit("Collected data", y);
		return y;
	}
	
	public int getNumCorrectedError() {
		return numCorrectedError;
	}
	
  /*boolean[] parseBooleanArray(String source)
  {
      int i = Integer.parseInt(source, 2);
      boolean b[] = new boolean[source.length()];
      for(int j = 0; j < 15; j++)
      {
          int t = i >> j & 1;
          if(t == 1)
              b[j] = true;
          else
              b[j] = false;
      }

      return b;
  }*/
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合色天天综合| 91久久精品一区二区| 99在线精品一区二区三区| 欧美私人免费视频| 国产校园另类小说区| 午夜电影久久久| av在线综合网| 久久久久久久久久美女| 午夜亚洲国产au精品一区二区| 成人综合激情网| 欧美不卡123| 午夜精品久久久久久久99水蜜桃| 成人丝袜18视频在线观看| 欧美一级高清片在线观看| 综合激情成人伊人| 国产精品99久久久久久久女警| 欧美卡1卡2卡| 亚洲综合色噜噜狠狠| aaa国产一区| 国产精品久久久久影院色老大| 精品写真视频在线观看 | 婷婷开心激情综合| 一本色道**综合亚洲精品蜜桃冫| 国产亚洲成aⅴ人片在线观看| 奇米777欧美一区二区| 欧美亚日韩国产aⅴ精品中极品| 日韩一区在线看| 丁香婷婷综合网| 欧美韩国日本一区| 国产精品888| 国产女人18毛片水真多成人如厕 | 久久福利视频一区二区| 欧美日韩国产一级片| 一片黄亚洲嫩模| 91成人免费在线| 亚洲午夜久久久| 欧美精品久久99| 日本免费新一区视频| 91精品国产麻豆国产自产在线| 污片在线观看一区二区| 3d动漫精品啪啪一区二区竹菊 | 在线亚洲精品福利网址导航| 亚洲精品免费一二三区| 在线观看一区日韩| 午夜精品福利视频网站| 欧美一区二区三区日韩视频| 理论电影国产精品| 久久这里都是精品| 国产成人99久久亚洲综合精品| 国产日韩欧美一区二区三区乱码 | 91在线porny国产在线看| 国产精品进线69影院| 色综合天天天天做夜夜夜夜做| 一区二区三区四区在线| 欧美日韩激情一区| 精品夜夜嗨av一区二区三区| 中文欧美字幕免费| 欧美自拍偷拍午夜视频| 麻豆国产精品一区二区三区| 久久久久久亚洲综合影院红桃| www.日本不卡| 午夜精品久久久久| 欧美国产精品劲爆| 欧美在线一区二区三区| 麻豆91在线看| 1000部国产精品成人观看| 欧美日韩在线综合| 国产精品自在在线| 亚洲综合男人的天堂| 欧美白人最猛性xxxxx69交| 成人免费不卡视频| 五月天一区二区| 久久精品一二三| 欧美天堂亚洲电影院在线播放| 久久99精品国产91久久来源| 国产精品国产馆在线真实露脸| 欧美亚洲综合一区| 国产一级精品在线| 亚洲一区二区综合| 国产日韩精品久久久| 欧美亚洲一区三区| 国产精品77777竹菊影视小说| 亚洲国产日韩精品| 国产精品嫩草99a| 欧美疯狂做受xxxx富婆| 岛国精品在线观看| 日本不卡一二三| 亚洲精品成人悠悠色影视| 久久综合九色综合欧美98| 欧美视频一区二| av在线这里只有精品| 精品一区二区免费视频| 亚洲一区成人在线| 国产精品国产三级国产专播品爱网| 91精品国产综合久久久久久漫画 | 不卡的电视剧免费网站有什么| 石原莉奈在线亚洲二区| 亚洲人成网站在线| 国产亚洲欧美在线| 日韩免费观看2025年上映的电影| 日本高清不卡视频| 91在线观看免费视频| 国产精品亚洲成人| 久久精品国产77777蜜臀| 亚洲与欧洲av电影| 亚洲欧美在线视频| 国产精品久久久久久一区二区三区| 精品国产露脸精彩对白| 日韩免费电影一区| 欧美一三区三区四区免费在线看 | 26uuu精品一区二区| 3d动漫精品啪啪| 欧美高清视频一二三区| 欧美另类高清zo欧美| 欧美日韩一区二区三区高清| 欧洲一区二区三区在线| 欧美伊人精品成人久久综合97| 91香蕉视频黄| 色中色一区二区| 欧洲国内综合视频| 欧美日韩在线免费视频| 欧美区视频在线观看| 91麻豆精品国产| 日韩欧美国产成人一区二区| 欧美大片日本大片免费观看| 日韩一区二区精品葵司在线| 日韩欧美成人激情| 久久人人超碰精品| 日本一区二区成人| 亚洲视频在线一区观看| 亚洲六月丁香色婷婷综合久久| 亚洲精品乱码久久久久久日本蜜臀| 亚洲色图制服丝袜| 亚洲电影中文字幕在线观看| 蜜臀精品久久久久久蜜臀| 久久国产精品99久久人人澡| 精品一区精品二区高清| 国产91对白在线观看九色| hitomi一区二区三区精品| 日本伦理一区二区| 欧美日韩视频在线一区二区| 91精品欧美久久久久久动漫| 精品福利在线导航| 国产日本亚洲高清| 一区二区久久久久| 日韩精品每日更新| 国产露脸91国语对白| 一本色道久久综合亚洲91| 7777精品伊人久久久大香线蕉超级流畅| 91麻豆精品国产自产在线 | 欧美一区二区播放| 国产精品天干天干在线综合| 亚洲女人****多毛耸耸8| 亚洲高清免费视频| 国产激情视频一区二区在线观看| 成人激情午夜影院| 制服.丝袜.亚洲.中文.综合| 国产亚洲精品资源在线26u| 一级做a爱片久久| 久久精品国产澳门| 日本韩国欧美一区二区三区| 久久亚洲影视婷婷| 亚洲国产一区二区a毛片| 国内精品嫩模私拍在线| 91国产成人在线| 久久久久久久久久久久电影| 亚洲chinese男男1069| 国产成人鲁色资源国产91色综| 欧美日韩一区高清| 久久久久99精品国产片| 午夜视频一区二区三区| 成人精品亚洲人成在线| 日韩欧美一区二区在线视频| 亚洲欧美日韩中文播放 | 高清久久久久久| 欧美日韩久久久一区| 中文字幕亚洲一区二区av在线 | 亚洲欧美电影一区二区| 国产一区二区三区av电影| 欧美午夜精品一区| 日韩毛片视频在线看| 国产精品自产自拍| 日韩一区二区三区av| 亚洲综合在线电影| av一本久道久久综合久久鬼色| 精品国精品自拍自在线| 亚洲成人综合网站| 一道本成人在线| 自拍偷拍国产亚洲| 成人午夜视频网站| 久久嫩草精品久久久精品一| 免费在线观看不卡| 欧美久久高跟鞋激| 午夜在线成人av| 91成人免费在线| 亚洲伦在线观看| 成人免费视频一区| 欧美激情一区二区三区四区| 国产一区二区免费在线| 精品久久人人做人人爱|