用固定字节的数据表示随机多个十六进制的0x00,0x01
例如:有9个16进制的数(只能是0x00和0x01)0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,将这9个数用二个字节的二进制位表示则是11110010,00000001或者(01001111,10000000)。(可以是固定的字节,如下面代码中的是6字节)
具体的代码如下所示:
QByteArray Handle::getOccupyRecord()
{QByteArray data;QByteArray newData;data.resize(9);newData.resize(6); //用6个字节来表示9个16进制的数//初始化data和newDatafor(int i = 0; i < 9; i++){data[i] = 0x00;}for(int i = 0; i < 6; i++){newData[i] = 0x00;}data[0] = 0x00;data[1] = 0x01;data[2] = 0x00;data[3] = 0x00;data[4] = 0x01;data[5] = 0x01;data[6] = 0x01;data[7] = 0x01;data[8] = 0x01;//初始化newData的个数int a = 0; //控制移位的位数(8位)int j = 0; for (int i = 1; i < 9 + 1; ++i){//(01001111,10000000)第一个数放在二进制的最高位//newData[a] = newData[a] << 1 | data.at(i-1);//(11110010,00000001)第一个数放在8位的最低位newData[a] = newData[a] | data.at(i-1)<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
