当前位置:  开发笔记 > 编程语言 > 正文

C++ Qt:按位运算

如何解决《C++Qt:按位运算》经验,为你挑选了1个好方法。

我正在为大学开展一个小项目,我需要通过网络模拟传输,并对不同类型的纠错算法进行推理和可视化.我改进的数据包由一个quint8组成:我需要将它转换为一个位数组,如QBitArray,向它附加一个校验位,通过UDP传输它,用校验位检查传输是否成功,然后从中构造quint8 .再一次,这不是一个实际但教育性的任务,所以不要建议我使用像CRC这样的真实算法......

所以我的问题是:如何将任何数据类型(在本例中为quint8)转换为QBitArray?我的意思是计算机中的任何数据都是一个位数组,但我如何访问它是个问题.

谢谢,德米特里.



1> TimW..:

让我们看看我们是否可以正确使用它

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

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有