`

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三种调制方式,适应不同传输环境的需求。 - **复用*...

    3gpp 38.211TS

    3. **调制与编码**:5G NR支持多种调制方式,如QPSK、16QAM、64QAM以及256QAM,同时采用高级编码技术,如LDPC(Low-Density Parity Check)码,以提高数据传输的速率和可靠性。 4. **多址接入**:5G NR采用了基于...

    明基投影机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)、长训练...

    AMI_BIOS启动代码中英文对照表

    - **启动代码意义解释(英文)**: Check CMOS diagnostic byte to determine if battery power is OK and CMOS checksum is OK. Verify CMOS checksum manually by reading storage area. If the CMOS checksum is bad...

    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