开关量 0 和 1 的数据压缩的C语言算法的实现
程序员文章站
2022-03-23 19:36:44
开关量 0 和 1 的数据压缩的c语言算法的实现。
//本程序的目的是实现对采集到的开关量进行数据压缩,
//例如我们采集到的数据只有两种状态,0和1,
#include "std...
开关量 0 和 1 的数据压缩的c语言算法的实现。
//本程序的目的是实现对采集到的开关量进行数据压缩, //例如我们采集到的数据只有两种状态,0和1, #include "stdafx.h" #include #include "stdint.h" #include #include typedef unsigned char u8; typedef unsigned short u16; #define sensornum 512 #define pwbnum 4 u8 sensorbuff[sensornum]={0}; u8 sensorbuff1[sensornum/4]={0}; //此处直接进行了赋值,全部将其赋值为1,实际使用根据采集到的信息确定 u8 pwdbuff[pwbnum]={0x01,0x01,0x01,0x01}; u8 pwdbuff1[pwbnum/4]={0}; u8 byte22bit(u8 *p); int main(void ) { int i,k; pwdbuff1[0]=byte22bit(pwdbuff); ///////////////////////////////////////////// //输出转换前的数值 for(k = 0; k < 4 ; ++k) { printf("%02x", pwdbuff[k]); } printf("\r\n"); ///////////////////////////////////////////// //输出转换后的数值 printf("%02x", pwdbuff1[0]); printf("\r\n"); system("pause"); return 0; } //8位表示转两位函数每4个byte合并成1个byte u8 byte22bit(u8 *p) { u8 value=0; u8 i=0; for(i=0;i<4;i++) { if(p[i]==1) { value|=1<<((3-i)*2); } else { value|=0<<((3-i)*2); } } return value; }
推荐阅读
-
C语言线性单链表相关函数和算法的基本实现详细教程
-
C语言: 输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数int even(int n)判断整数n的奇偶性,当为奇数时返回1,否则返回0。
-
开关量 0 和 1 的数据压缩的C语言算法的实现
-
数据结构和算法 - 为什么复杂的算法都用java或者c来实现而不是使用php这样子都脚本语言?
-
C语言线性单链表相关函数和算法的基本实现详细教程
-
C语言 二叉树 统计二叉树中度为0,1和2的结点个数【树和二叉树】给定先序序列,按照该序列创建对应的二叉树,并输出该二叉树度为0,1和2的结点个数。输入:一行,二叉树按先序遍历序列,空指针用字符^占位
-
数据结构和算法 - 为什么复杂的算法都用java或者c来实现而不是使用php这样子都脚本语言?
-
开关量 0 和 1 的数据压缩的C语言算法的实现
-
C语言递归算法系列_循环实现逆序和正序输出一个整数的每位数 (2)