`

parity_check_table

    博客分类:
  • C
 
阅读更多

 

unsigned char const parity_check_table[256] = {
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00,
	0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01
}

/* parity type --- 0:odd, 1:even */
unsigned char parity_check(unsigned char input, unsigned char type) {
    union BYTE_UNION {
        unsigned short byte_value;

        struct {
            unsigned b0 : 1;
            unsigned b1 : 1;
            unsigned b2 : 1;
            unsigned b3 : 1;
            unsigned b4 : 1;
            unsigned b5 : 1;
            unsigned b6 : 1;
            unsigned b7 : 1;
        } bits_value;
    };
    union BYTE_UNION input_value;
    unsigned char check_value;
    
    input_value.byte_value = input;
    check_value = input_value.bits_value.b0 + input_value.bits_value.b1 + input_value.bits_value.b2 + input_value.bits_value.b3 +         \
            input_value.bits_value.b4 + input_value.bits_value.b5 + input_value.bits_value.b6 + input_value.bits_value.b7;

    if (type) { /* even */
        check_value ^= 1;
    }

    return (check_value & 1);
}
 
分享到:
评论

相关推荐

    BIos原代码《陈文钦》

    title . PROCESSOR_TIMER_PARITY_REFRESH_NMI TEST ;*****************************************************************; ;*****************************************************************; ;** *...

    LDPC码率.zip_LDPC_LDPC码率计算_不同码率 LDPC

    LDPC码(Low-Density Parity-Check Code),即低密度奇偶校验码,是一种重要的纠错编码技术,广泛应用于数据通信、存储和无线通信等领域。LDPC码的码率是衡量其编码效率的重要参数,它定义了编码后的信息位与总的...

    cmmb培训(中国移动多媒体广播培训)培训.pdf

    - **信道编码**: 采用外编码(Reed-Solomon, RS)和内编码(Low-Density Parity-Check, LDPC),提高数据传输的可靠性。 - **调制方式**: 包括BPSK、QPSK和16QAM三种调制方式,适应不同传输环境的需求。 - **复用*...

    明基投影机RS232控制协议

    该协议定义了投影机与PC之间的通信规则,包括数据传输的格式、速率、parity check、stop bits等。 RS232 Cable Requirement and Pin Assignment RS232 cable是连接投影机与PC之间的serial communication cable。该...

    单奇偶校验解码器可靠性推断的并行路由网络

    在探讨“单奇偶校验解码器可靠性推断的并行路由网络”这一主题时,首先需要明确单奇偶校验(Single-Parity-Check,简称SPC)码的概念以及它在前向错误更正(Forward Error Correction,简称FEC)中的作用。...

    行业分类-设备装置-一种面向高清媒体的嵌入式文件存储结构及存储方法.zip

    冗余数据校验(如CRC或Parity Check)可以检测和修复错误,保证数据完整性;而压缩技术(如LZ77、Huffman编码或JPEG、MP4等压缩格式)则能在不显著降低画质的前提下减少存储需求。 在面向高清媒体的嵌入式存储方法...

    分布式系统中纠删码容错机制的研究与实现.pdf

    纠删码的基本原理源于信息论,尤其是里德-索洛蒙码(Reed-Solomon Code)和低密度奇偶校验码(LDPC, Low-Density Parity Check Code)。这些编码方法可以在数据块中嵌入额外的信息,使得数据块之间存在一定的依赖...

    802.11ac RF 规格

    7. 低密度奇偶校验(Low Density Parity Check, LDPC)编码:LDPC是一种先进的纠错编码方式,可以提高无线通信的性能。 802.11ac的标准还定义了帧格式的结构,它由一系列字段组成,包括短训练字段(L-STF)、长训练...

    The Indispensable PC Hardware Book - rar - part1. (1/7)

    Interrupt descriptor table. Multitasking, TSS, and task gates. Protecting the I/O address space. Protected mode exceptions and protection mechanisms. Paging. Logical, linear, physical addressing,...

    Intel 汇编指令集

    - **BOUND - Array Index Bound Check (80188+)**: 数组索引边界检查指令。 - **BSF - Bit Scan Forward (386+)**: 位扫描向前指令。 - **BSR - Bit Scan Reverse (386+)**: 位扫描反向指令。 - **BSWAP - Byte Swap...

    INTEL 汇编指令集

    - **PF (Parity Flag)**:奇偶标志位,用于指示最近一次操作结果中的1的个数是否为偶数。 - **AF (Auxiliary Carry Flag)**:辅助进位标志位,在进行字节操作时,如果低四位有进位则AF被置1。 - **ZF (Zero Flag)**...

    BURNINTEST--硬件检测工具

    - Changed the mechanism to check for the required DirectX Direct3D as the previous method did not work on some system (some W2003 servers). - Enhanced the mechanism to report memory hardware errors ...

Global site tag (gtag.js) - Google Analytics