关于位元表使用,报文处理算法的问题:
有哥们告诉我
”位元表:就是你用一组数字标示你后面结构中那一个数据是有的那一个数据是不存在的,
例如:位元表是:1001 0110 表示你结构中的第1、4、6、7的数据是存在的,其他的在这个交易中是不存在的。
位元表你可以用不同的方式表示,是你自己定义的。“
但是我还是理解的糊里糊涂。
例如下列的情况:
/*位元表定义*/
char bitmap[4]={'0','0','0','0'};
/*定义的结构体*/
struct str_student
{
char name[10];
char passwd[10];
char class_name[20];
char dept_name[20];
}
student1 ;
例如:
student1.name = "student1";
student1.passwd = "passwd1";
其他成员不赋值
那么对应的位元表应该为
bitmap[0]=1;
bitmap[1]=1;
bitmap[2]=0;
bitmap[3]=0;
//我需要问的问题如下:主要是关于算法方面的
1、struct 变量在声明之后,其中的数据成员数值是不确定的,如何能够保持一定的规则,例如int 为0,char 为'\0' 什么的。
我估计是不行。有没有知道有什么算法?
2、结构体组织成字符串,例如上例子,采用定长报文格式则需要组成student1__passwd1____________________________________________
采用竖线报文则需要采用student1|passwd|||
有没有什么算法,能够解决以上的问题;
3、此时位元表有没有什么算法可以设定的。
主要我是想在处理这些上有个很好的算法,以便能够减少代码。不知道做银行业务系统的朋友在这点有什么办法没有。