主要用于在通讯协议中读写寄存器
QVector<quint16> ModbusTCP::HexToBin(quint16 value)
{
QVector<quint16> res;
for(int i = 0; i < 16; i++){
quint16 twoPow = pow(2, i);
quint16 S_value = (value & twoPow) >> i;
res.append(S_value);
}
return res;
}
quint16 ModbusTCP::BinToHex(QVector<quint16> data)
{
if(data.count() != 16)
return 0;
quint16 res = data.at(0)|data.at(1)<<1|data.at(2)<<2|data.at(3)<<3|data.at(4)<<4|data.at(5)<<5|data.at(6)<<6|data.at(7)<<7|
data.at(8)<<8|data.at(9)<<9|data.at(10)<<10|data.at(11)<<11|data.at(12)<<12|data.at(13)<<13|data.at(14)<<14|data.at(15)<<15;
return res;
}