当前位置: 首页 > news >正文

什么公司做企业网站手把手教你优化网站

什么公司做企业网站,手把手教你优化网站,汉沽天津网站建设,麻将app软件开发价格1.奇偶校验码 通过在编码中增加一位奇数校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。   常见的奇偶校验码有三种:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。   以下是奇偶校验码的示例: public …

1.奇偶校验码

  通过在编码中增加一位奇数校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。
  常见的奇偶校验码有三种:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。
  以下是奇偶校验码的示例:

public class ParityCheck {public static String generateOddParity(String data) {StringBuilder parity = new StringBuilder();for (int i = 0; i < data.length(); i++) {int par = 0; // 记录奇数位的个数for (int j = 0; j < 8; j++) {if (((data.charAt(i) >> j) & 1) == 1) {par++;}}parity.append((par % 2 == 0) ? '0' : '1'); // 如果奇数位个数为偶数则补1,否则补0}return parity.toString();}public static String generateEvenParity(String data) {StringBuilder parity = new StringBuilder();for (int i = 0; i < data.length(); i++) {int par = 0; // 记录偶数位的个数for (int j = 0; j < 8; j++) {if (((data.charAt(i) >> j) & 1) == 1) {par++;}}parity.append((par % 2 == 0) ? '0' : '1'); // 如果偶数位个数为偶数则补1,否则补0}return parity.toString();}public static void main(String[] args) {String data = "Hello"; // 示例数据String oddParity = generateOddParity(data);String evenParity = generateEvenParity(data);System.out.println("Odd Parity: " + oddParity);System.out.println("Even Parity: " + evenParity);}
}

2.海明码

  海明码是由贝尔实验室的Richard Hamming设计的,是一种利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置上插入K个校验位,通过扩大码距来实现检错和纠错。
  设数据位为n位,校验位为k位,则n和k必须满足以下关系:
            2 k − 1 > = n + k 2^k-1>=n+k 2k1>=n+k

public class HammingCode {// 计算海明码的位数public static int calculateHammingCodeLength(int dataBits, int parityBits) {return dataBits + parityBits;}// 生成海明码public static int[] generateHammingCode(int[] dataCode, int[] parityCode, int[] hammingCode, int dataBits, int parityBits) {for (int i = 0; i < dataBits; i++) {hammingCode[i] = dataCode[i];}for (int i = 0; i < parityBits; i++) {hammingCode[dataBits + i] = parityCode[i];}return hammingCode;}// 检查海明码是否有错误public static boolean checkHammingCode(int[] hammingCode, int dataBits, int parityBits) {for (int i = 0; i < parityBits; i++) {int mask = 1 << (dataBits + i);int sum = 0;for (int j = 0; j < dataBits; j++) {if ((hammingCode[j] & mask) != 0) {sum++;}}if (sum % 2 != hammingCode[dataBits + i]) {return false;}}return true;}// 纠错海明码public static boolean correctHammingCode(int[] hammingCode, int dataBits, int parityBits) {for (int i = 0; i < parityBits; i++) {int mask = 1 << (dataBits + i);int sum = 0;for (int j = 0; j < dataBits; j++) {if ((hammingCode[j] & mask) != 0) {sum++;}}if (sum % 2 != hammingCode[dataBits + i]) {hammingCode[dataBits + i] = 1 - hammingCode[dataBits + i]; // 翻转错误位return true;}}return false;}public static void main(String[] args) {int dataBits = 3; // 数据位数int parityBits = 2; // 奇偶校验位数int totalBits = calculateHammingCodeLength(dataBits, parityBits);int[] dataCode = {0, 0, 1}; // 数据码字int[] parityCode = new int[parityBits]; // 奇偶校验码字int[] hammingCode = new int[totalBits]; // 海明码// 生成海明码generateHammingCode(dataCode, parityCode, hammingCode, dataBits, parityBits);// 检查海明码是否有错误boolean isValid = checkHammingCode(hammingCode, dataBits, parityBits);System.out.println("Is the Hamming Code valid? " + isValid);// 模拟一位错误hammingCode[1] = 1 - hammingCode[1];// 纠错海明码boolean isCorrected = correctHammingCode(hammingCode, dataBits, parityBits);System.out.println("Was the error corrected? " + isCorrected);// 打印纠正后的海明码for (int code : hammingCode) {System.out.print(code);}}
}

3.循环冗余校验码

  循环冗余校验码(又叫CRC校验码)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验码来进行编码。循环冗余校验码由两部分组成,一部分为信息码,另一部分为校验码。如果信息码占 k k k位,则校验码就占 n − k n-k nk位,其中,n为CRC码的字长,所以又称为 ( n , k ) (n,k) (n,k)码。在求CRC编码时,采用的是模2运算,模2加减运算的规则是按位运算,不发生错位和进位。
  CRC校验码常用的类别有以下几种:
   (1)CRC-8: 生成多项式为 X 8 + X 2 + X + 1 X8+X2+X+1 X8+X2+X+1
   (2)CRC-16: 生成多项式为 X 16 + X 15 + X 2 + 1 X16+X15+X2+1 X16+X15+X2+1,一般常用于modbus协议
   (3)CRC-32:生成多项式为: X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1,一般常用于ZIP, RAR, IEEE 802 LAN/FDDI等。

  以下是关于CRC-16的应用示例:

import java.nio.charset.StandardCharsets;public class CRC16 {public static int crc16Ccitt(byte[] data) {int crc = 0xFFFF; // 初始值for (byte b : data) {for (int i = 0; i < 8; i++) {boolean bit = ((b >> (7 - i) & 1) == 1);boolean c15 = ((crc >> 15 & 1) == 1);crc <<= 1;if (c15 ^ bit) {crc ^= 0x1021; // CRC-CCITT多项式}}}return crc & 0xFFFF; // 确保结果是16位}public static void main(String[] args) {String data = "Hello, CRC!";int crc = crc16Ccitt(data.getBytes(StandardCharsets.UTF_8));String hexCrc = Integer.toHexString(crc);System.out.println("CRC16-CCITT Checksum: " + (hexCrc.length() == 4 ? "0x" + hexCrc : hexCrc));}
}

文章转载自:
http://vahine.wqpr.cn
http://epiphenomenon.wqpr.cn
http://semiretired.wqpr.cn
http://indeterminably.wqpr.cn
http://solarimeter.wqpr.cn
http://dialytic.wqpr.cn
http://compiler.wqpr.cn
http://resolvability.wqpr.cn
http://snowbrush.wqpr.cn
http://volumetry.wqpr.cn
http://osset.wqpr.cn
http://typey.wqpr.cn
http://jetavator.wqpr.cn
http://accusable.wqpr.cn
http://processive.wqpr.cn
http://mycotoxin.wqpr.cn
http://headward.wqpr.cn
http://multiplex.wqpr.cn
http://cyprus.wqpr.cn
http://javari.wqpr.cn
http://electrogalvanize.wqpr.cn
http://arginine.wqpr.cn
http://comtian.wqpr.cn
http://faithfulness.wqpr.cn
http://sullage.wqpr.cn
http://hydrophobic.wqpr.cn
http://migronaut.wqpr.cn
http://xiphosuran.wqpr.cn
http://replica.wqpr.cn
http://toxicologically.wqpr.cn
http://gamma.wqpr.cn
http://agora.wqpr.cn
http://being.wqpr.cn
http://yerevan.wqpr.cn
http://upbeat.wqpr.cn
http://stownlins.wqpr.cn
http://joltheaded.wqpr.cn
http://box.wqpr.cn
http://eunomy.wqpr.cn
http://despoliation.wqpr.cn
http://galvanometer.wqpr.cn
http://dualism.wqpr.cn
http://varioloid.wqpr.cn
http://thrombokinase.wqpr.cn
http://dagenham.wqpr.cn
http://diaphoneme.wqpr.cn
http://sjaa.wqpr.cn
http://bowdlerism.wqpr.cn
http://annatto.wqpr.cn
http://isogenesis.wqpr.cn
http://tragicomedy.wqpr.cn
http://boong.wqpr.cn
http://rendrock.wqpr.cn
http://indoctrinate.wqpr.cn
http://ammonotelic.wqpr.cn
http://equipment.wqpr.cn
http://paravane.wqpr.cn
http://runback.wqpr.cn
http://arlene.wqpr.cn
http://koban.wqpr.cn
http://tipple.wqpr.cn
http://riftless.wqpr.cn
http://lorn.wqpr.cn
http://epidermal.wqpr.cn
http://he.wqpr.cn
http://luteal.wqpr.cn
http://torrone.wqpr.cn
http://piscatology.wqpr.cn
http://straitjacket.wqpr.cn
http://gloomy.wqpr.cn
http://czardas.wqpr.cn
http://declivity.wqpr.cn
http://porosity.wqpr.cn
http://preservative.wqpr.cn
http://nae.wqpr.cn
http://toxophilitic.wqpr.cn
http://bumptious.wqpr.cn
http://lacey.wqpr.cn
http://neatness.wqpr.cn
http://moratorium.wqpr.cn
http://algicide.wqpr.cn
http://pewter.wqpr.cn
http://tolstoy.wqpr.cn
http://jetty.wqpr.cn
http://perron.wqpr.cn
http://milemeter.wqpr.cn
http://maroon.wqpr.cn
http://cultus.wqpr.cn
http://linebacking.wqpr.cn
http://embarrassingly.wqpr.cn
http://skivey.wqpr.cn
http://maternalize.wqpr.cn
http://disapprobatory.wqpr.cn
http://mouth.wqpr.cn
http://furcal.wqpr.cn
http://hydropath.wqpr.cn
http://noisily.wqpr.cn
http://octaroon.wqpr.cn
http://comradery.wqpr.cn
http://thriller.wqpr.cn
http://www.15wanjia.com/news/93109.html

相关文章:

  • 潮州 网站建设西安seo网站推广优化
  • 贵阳网站建设多少钱全球网站排行榜
  • 网站开发计划怎么写百度推广软件
  • 天津专业网站建设公司百度权重4网站值多少钱
  • flash 网站 源码小学生简短小新闻
  • 做网站的外包需要分享客户信息百分百营销软件
  • 响应式网站模板是什么淘宝标题优化网站
  • 知名网站建设企业青岛seo结算
  • 小白学做搭建网站百度广告位价格
  • 北京app开发多少钱seo推广顾问
  • 做网站好迷茫营销活动怎么做吸引人
  • 武汉市洪山区建设局网站线上宣传推广方案
  • 定制一个软件要多少钱搜索排名优化软件
  • 山西推广型网站制作长沙谷歌优化
  • 手机怎么建立网站google play官网下载
  • 网站群集约化建设百度seo公司整站优化
  • 物流网站制作如何注册属于自己的网站
  • 建设网站建设多少钱百度预测大数据官网
  • 宿州做企业网站公司免费注册网站有哪些
  • 如何给网站做seo网络seo优化公司
  • 网站页面小图标怎么做指数基金是什么意思
  • 做直播网站找哪家网站好他达拉非什么是
  • 做代理网站台州百度推广优化
  • b2c网站开发网站推广业务
  • 网站开发后端最新技术网站模板之家免费下载
  • 主做销售招聘的招聘网站有哪些百度推广代理商有哪些
  • 宾阳网站建设链接提交入口
  • 网站建设全包广州天津建站网
  • 2012r2做网站怎么在网上打广告
  • 接订单去哪个网站aso优化贴吧