位串转换

  1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务

1 参考《GMT 0009-2012 SM2密码算法使用规范》第6节“数据转换” 在utils.h和utils.c中完成位串与8位字节串的转换功能(10'):
int Bitstr2ByteArr(unsigned char * bs, unsigned char * ba);
int ByteArr2Bitstr(unsigned char * ba, unsigned char * bs);

2 并写出测试代码测试上述函数(不能与下面代码一样),比如(10'):

unsigned char bs [] = "1010010100011100";
Bitstr2ByteArr(bs, char * ba);
//结果:ba = {0x5, 0x1C};

char ba[] = {0x5, 0x1C}
ByteArr2Bitstr(char * ba, char * bs);
//结果:bs= "1010010100011100"

测试样例

对0x20的字节串进行转换

运行结果

代码链接

https://gitee.com/yang_shou_sen/various-codes/tree/master/
位串转换测试

posted @ 2022-06-02 15:00  爱冒险的丁丁  阅读(21)  评论(0编辑  收藏  举报