我正在为大学开展一个小项目,我需要通过网络模拟传输,并对不同类型的纠错算法进行推理和可视化.我改进的数据包由一个quint8组成:我需要将它转换为一个位数组,如QBitArray,向它附加一个校验位,通过UDP传输它,用校验位检查传输是否成功,然后从中构造quint8 .再一次,这不是一个实际但教育性的任务,所以不要建议我使用像CRC这样的真实算法......
所以我的问题是:如何将任何数据类型(在本例中为quint8)转换为QBitArray?我的意思是计算机中的任何数据都是一个位数组,但我如何访问它是个问题.
谢谢,德米特里.
让我们看看我们是否可以正确使用它
template < class T > static QBitArray toQBit ( const T &obj ) { int const bitsInByte= 8; int const bytsInObject= sizeof(T); const quint8 *data = static_cast(&obj) ; QBitArray result(bytsInObject*bitsInByte); for ( int byte=0; byte