QT::QBitArray

QT上位机编写 <br />      前段时间终于把设备管理上位机完成的差不多了,用了差不多有半个月的时间了,因为对QT还不是特别的熟悉,所以中间还是摸索QT的过程。这个上位机程序用到了多线程,数据库操作,网络套接字还有一些界面操作。使用的IDE我选用的是QT CREATOR,个人觉得还是很好用的,里面集成了QT DESIGNER,QT HELP,,QT DEBUG(虽然暂时我还没用过调试器,都是使用Qdebug打印信息和QMesseageBox输出对话框来调试的),QT CREATOR编辑环境也是相当不错的,特别是自动 阅读详情
QbitArray类提供位操作序列。
include<QBitArray>
公有函数:

QBitArray ()
QBitArray ( int size, bool value = false )
QBitArray ( const QBitArray & other )
bool at ( int i ) const
void clear ()
void clearBit ( int i )
int count () const
int count ( bool on ) const
bool fill ( bool value, int size = -1 )
void fill ( bool value, int begin, int end )
bool isEmpty () const
bool isNull () const
void resize ( int size )
void setBit ( int i )
void setBit ( int i, bool value )
int size () const
bool testBit ( int i ) const
bool toggleBit ( int i )
void truncate ( int pos )
bool operator!= ( const QBitArray & other ) const
QBitArray & operator&= ( const QBitArray & other )
QBitArray & operator= ( const QBitArray & other )
bool operator== ( const QBitArray & other ) const
QBitRef operator[] ( int i )
bool operator[] ( int i ) const
QBitRef operator[] ( uint i )
bool operator[] ( uint i ) const
QBitArray & operator^= ( const QBitArray & other )
QBitArray & operator|= ( const QBitArray & other )
QBitArrayoperator~ () const
涉及到得非成员函数:


QBitArray operator& ( const QBitArray & a1, const QBitArray & a2 )
QDataStream & operator<< ( QDataStream & out, const QBitArray & ba )
QDataStream & operator>> ( QDataStream & in, QBitArray & ba )
QBitArray operator^ ( const QBitArray & a1, const QBitArray & a2 )
QBitArrayoperator| ( const QBitArray & a1, const QBitArray & a2 )


详细描述:

    QBitArray类提供了一个位序列。QBitArray类提供了访问序列中单独位的方法,也可以对序列中的位执行  与 、或、 

异或操作(AND, OR ,NOT,XOR),提供隐式的内存共享机制,从而减少内存使用率和不必要的数据复制。 

   下面的代码初始化一个QBitArray对象,包含200个数位(BITS),全部初始化为0,即FALSE:
   QBitArray ba(200);//ba包含200个0
   把QBitArray中的某个数位初始化为TRUE,或者传递第二个参数作为QBitArray的构造函数,如QBitArray ba(200,TRUE),或者在之后调用fill()函数。附注:在QBitArray中TRUE对应1,FALSE对应0. 


   QBitArray用0作为起始下标,这点类似于C++,当我们访问一个指定下标所对应的数位(BITS)时可以调用OPERATOR[]()。 
在一个NON-CONST的位序列中,OPERATOR[]()返回一个可以用于左值的引用,例如:
 QBitArray ba;  
 ba.resize(3);  
 ba[0] = true;  
 ba[1] = false;  
 ba[2] = true;


 
    出于性能考虑,当我们访问QBitArray中的指定位(BITS)时,testBit()和setBit()相对于OPERATOR[]()在性能上效率更高。例如:
 
QBitArray ba(3);  
 ba.setBit(0, true);  
 ba.setBit(1, false);  
 ba.setBit(2, true);


 
    QBitArray支持 &(AND) |(OR)  ^(XOR)  ~(NOT)操作,类似于&=,|=,^=.这些操作对应于C++按位访问的名称是一个意思。例如:
 
QBitArray x(5);  
 x.setBit(3, true);  
 // x: [ 0, 0, 0, 1, 0 ]  
  
 QBitArray y(5);  
 y.setBit(4, true);  
 // y: [ 0, 0, 0, 0, 1 ]  
  
 x |= y;  
 // x: [ 0, 0, 0, 1, 1 ]


 
     附注:出于历史原因,QBitArray是区分NULL和EMPTY的,NULL对应于默认构造函数中的一个位,EMPTY在SIZE()返回0时被设置,一个NULL位总是EMPTY,但相反就不一定。例如:
 
 QBitArray().isNull();           // returns true  
 QBitArray().isEmpty();          // returns true  
  
 QBitArray(0).isNull();          // returns false  
 QBitArray(0).isEmpty();         // returns true  
  
 QBitArray(3).isNull();          // returns false  
 QBitArray(3).isEmpty();         // returns false


在所有的函数中只有isNull()对NULL和EMPTY做相同的处理,例如:QBitArray()和QBitArray(0)的执行效果是一样的,通常情况下,建议使用isEmpty(),而避免使用isNull().

成员函数描述:

QBitArray::QBitArray () 
//初始化一个为空的位处理序列

QBitArray::QBitArray ( int size, bool value = false )
//初始化一个大小为size,默认情况下每一位(BITS)被初始化为FALSE即0

QBitArray::QBitArray ( const QBitArray & other )
//复制构造函数。通常该函数会消耗一个常数时间值,因为为序列是建立的内存共享机制上的,所以会以很快的速度
//返回一个为位序列,如果共享实例被改变,该做操对应线性执行时间,主要消耗在读写上。

bool QBitArray::at ( int i ) const
//返回指定下标i处所对应的布尔值(要么是0(FALSE),或者是1(TRUE)),给定的下标值必须有效,(0<=i<sisize() ).

void QBitArray::clear ()
//清空序列的内容,此时该序列位EMPTY,但不为NULL。

void QBitArray::clearBit ( int i )
//把指定下标i对应的值设置为0,给出的下标必须有效,不可产生溢出。

int QBitArray::count () const
//返回序列大小,等同于size().

int QBitArray::count ( bool on ) const
//如果参数on为true则返回序列中1的个数,如果参数on为false,则返回序列中0的个数。
//例如:count(true)+count(false)==count()==size()

bool QBitArray::fill ( bool value, int size = -1 )
//把序列中俄每一个位设置成参数value所对应的值,成功则返回true,失败则返回false。
//注意:如果给出了第二个参数size的值,且不等于默认值-1时,该序列的大小将被重置位size所对应的值,例如:
 QBitArray ba(8);  
 ba.fill(true);  
 // ba: [ 1, 1, 1, 1, 1, 1, 1, 1 ]  
  
 ba.fill(false, 2);  
 // ba: [ 0, 0 ]
 
void QBitArray::fill ( bool value, int begin, int end )
//这是一个重载的函数。把该序列中begin<=size<end这段范围的值设置成参数value所对应的值,参数begin和end
//必须是一个有效的范围,否则会产生越界或者溢出。


bool QBitArray::isEmpty () const
//若果该序列的大小为0则返回true,否则返回false


bool QBitArray::isNull () const
//如果该序列为NULL则返回true,否则返回false,例如:
 QBitArray().isNull();           // returns true  
 QBitArray(0).isNull();          // returns false  
 QBitArray(3).isNull();          // returns false
//附注:出于历史原因,QT严格区分NULL和EMPTY,在大多数应用中,判断一个序列中是否包含有数据时,可以使用isEmpty()


void QBitArray::resize ( int size )
//把序列的大小重置为参数size所指定的大小,如果参数size所指定的大小比序列的当前size()要大,则在序列end()后追加额外的空间,
//并把追加的空间的默认值设置为0.如果参数size所指定的值比序列的size()要小,则以逆序的方式从end()开始移除对应的位。


void QBitArray::setBit ( int i )
//把参数i所指定的序列下标所对应的位值设置为1,参数i必须是一个有效的下标,否则会产生越界或溢出。


void QBitArray::setBit ( int i, bool value )
//这是一个重载的函数,把参数i所指定的下标所对应的序列位值设置成参数value所指定的值。


int QBitArray::size () const
//返回序列中位的个数的大小。


bool QBitArray::testBit ( int i ) const
//如果参数下标值i所对应的序列值为1则返回true,否则返回false.参数i必须是一个有效的下标值,否则会产生越界或者溢出。


bool QBitArray::toggleBit ( int i )
//反转下标i所对应的序列值,如果参数i所给定的下标,对应的序列值为0则反转未1,如果对应的序列值为1俄反转未0.参数i必须是一个有效的下标值,否则会产生越界或者溢出。


void QBitArray::truncate ( int pos )
//截断下标pos到end()这段序列值,如果pos超出end()所限定的范围,则该操作无效。


bool QBitArray::operator!= ( const QBitArray & other ) const
//如果this序列等于other序列,则返回true,否则返回false.


QBitArray & QBitArray::operator&= ( const QBitArray & other )
   //在this序列和other序列的all bit上执行 &= 操作,把产生的结果值赋值诶this序列,并返回this序列的引用,
   //返回的序列会采用两个序列中长度最长的那个,较短序列的空余位添0,然后进行&操作.例如:
 QBitArray a(3);  
 QBitArray b(2);  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 a &= b;                         // a: [ 1, 0, 0 ]
QBitArray & QBitArray::operator= ( const QBitArray & other )
//把other序列赋值给this序列,并返回该序列的引用。


bool QBitArray::operator== ( const QBitArray & other ) const
//如果other序列等于this序列返回true,否则返回false


QBitRef QBitArray::operator[] ( int i )
//返回下标i所对应的序列值,该返回值可用于左值进行赋值运算,参数i必须是有效的下标值,否则会产生越界或者溢出。例如:
 QBitArray a(3);  
 a[0] = false;  
 a[1] = true;  
 a[2] = a[0] ^ a[1]; 
相对而言testBit(), setBit(), and clearBit() 在执行效率上稍快一些。


bool QBitArray::operator[] ( int i ) const
//这是一个重载函数,如果下标i所对应的序列值位1则返回true,如果下标i所对应的序列值位0则返回false


QBitRef QBitArray::operator[] ( uint i )
//重载函数,不同的是参数i是unsigned int 的类型重定义。并返回可用于左值赋值的引用


bool QBitArray::operator[] ( uint i ) const
//重载函数,不同的是参数是unsigned int 


QBitArray & QBitArray::operator^= ( const QBitArray & other )
//在other和this序列间执行XOR异或操作,并把操作结果赋值给this序列,返回一个可用于左值赋值的引用值,
//结果集取两个序列中长度最长的那个,较短序列的空余部分用0填充,然后进行^操作。例如:
 QBitArray a(3);  
 QBitArray b(2);  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 a ^= b;                         // a: [ 0, 1, 1 ] 
 
QBitArray & QBitArray::operator|= ( const QBitArray & other )
//在other和this序列间执行OR(或)操作,并把操作集赋值给this序列,返回一个引用。
//结果取两个序列中长度最长的那个,较短序列的空余部分用0填充,然后进行|操作。例如:
 QBitArray a(3);  
 QBitArray b(2);  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 a |= b;                         // a: [ 1, 1, 1 ]
 
QBitArray QBitArray::operator~ () const
//反转序列中的每一个位,如果当前位是0则反转为1,如果当前位是1则反转为0,例如:
 QBitArray a(3);  
 QBitArray b;  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b = ~a;                         // b: [ 0, 1, 0 ]


涉及到得非成员函数:

QBitArray operator& ( const QBitArray & a1, const QBitArray & a2 )
//返回序列a1和序列a2在进行&操作后的序列集,如果a1.size()<a2.size(),或者a2.size()<a1.size(),则把较短序列扩充至较长序列所对应的长度,并在尾部填充0,然后和较长序列进行&操作,例如:
 QBitArray a(3);  
 QBitArray b(2);  
 QBitArray c;  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 c = a & b;                      // c: [ 1, 0, 0 ]
 
QBitArray operator^ ( const QBitArray & a1, const QBitArray & a2 )
//返回序列a1和a2的XOR结果集,把较短序列扩充至较长序列所对应的长度,并在尾部用0填充,然后和较长序列进行XOR操作。
例如:
 QBitArray a(3);  
 QBitArray b(2);  
 QBitArray c;  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 c = a ^ b;                      // c: [ 0, 1, 1 ]
 
QBitArray operator| ( const QBitArray & a1, const QBitArray & a2 )
//对序列a1和a2进行OR操作,并返回结果集,把较短序列扩充至较长序列所对应的长度,并在尾部用0填充,然后进行OR操作。例如:
 QBitArray a(3);  
 QBitArray b(2);  
 QBitArray c;  
 a[0] = 1; a[1] = 0; a[2] = 1;   // a: [ 1, 0, 1 ]  
 b[0] = 1; b[1] = 0;             // b: [ 1, 1 ]  
 c = a | b;                      // c: [ 1, 1, 1 ]

QDataStream & operator<< ( QDataStream & out, const QBitArray & ba )
//把序列ba的每一位送至输出缓冲区,进行输出。
QDataStream & operator>> ( QDataStream & in, QBitArray & ba )
//读取输入流中的数据送入序列ba中。




【Qt】QBitArray 和 std::bitset Qt和STL中关于位操作的详解 阅读详情

相关推荐

QT的QBitArray 类的使用

详细说明 QBitArray类提供了一个位数组。 QBitArray是一个数组,它可以访问各个位并提供可在整个位数组上工作的运算符(AND,OR,XOR和NOT)。 它使用隐式共享(写时复制)来减少内存使用并避免不必要的数据复制。 下面的代码构造一个QBitArray,其中包含200位初始化为false(0)的位: BitArray ba(200); 要将位初始化为true,请将true作为第二个参数传递给构造函数,或者稍后再调用fill()。 QBitArray使用基于0的索引,就像C ++数组一样。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 2402

解决 qt “ ASSERT failure in QVector<T>::at: "index out of range" ”

ASSERT failure in QVector::at: “index out of range” 索引超出范围 比如你有一个长度为5的QVector并且您尝试访问索引5,那么它将超出范围。

ztq_12345的博客 1万+

使用QBitArray类的QT编程

QBitArray类是Qt框架中的一个数据类型,用于处理位数组。它提供了一种高效的方式来存储和操作大量的布尔值。在本文中,我们将介绍如何使用QBitArray类进行编程,并提供相应的源代码示例。有时候,我们可能需要将位数组转换为字节数组以便进行存储或传输。同样地,我们也可以从字节数组中创建一个位数组。通过这个类,我们可以方便地处理位数组,并执行各种操作。我们可以使用[]运算符来设置和获取位的值。位的索引从0开始,对应于位数组中的位置。QBitArray类提供了许多方法来操作位数组。

ByteWhizX的博客 379

[pytorch ] (a) must be greater or equal to the number of dimensions (b)

文章目录1. The number of sizes provided (0) must be greater or equal to the number of dimensions in the tensor(1)建议2. the number of sizes provided (1) must be greater or equal to the number of dimensions in the tensor (3) 1. The number of sizes provided (0) mu

zcw1234515的博客 6140

详解Qt 之 QBitArray 位数组

QBitArray是 Qt 框架中的一个类,用于处理位数组。它允许以位的形式存储和操作数据,这对于需要节省内存或者处理位级数据的场景非常有用。QBitArray提供了一种高效的方式来管理大量布尔值,特别是在处理大型数据集时,能够显著减少内存使用。QBitArray是一个高效的类,用于存储和操作位级数据。它提供了设置、清除、翻转位的功能,并支持位数组的填充和查询。通过QBitArray,可以在需要大规模处理布尔值或节省内存的场景中,提供更高效的解决方案。

m0_62599305的博客 439

2016域控服务器迁移,WIN Server2016 域服务器迁移出错

各位大神: 这几天刚安装了一台windows server 2016做域迁移时出现错误:1、默认SYSLOG、NETLOGON共享文件重启后自动取消共享,即使手动打开后依然会出现自动取消2、组策略中编辑策略时出现以下报错 policys.png (19.29 KB)2017-2-7 13:52操作此动作之前可以访问本机的共享(NETLOGON)3、使用DCDIAG检测多个报错:C:\Use...

weixin_31833039的博客 3314

(pyqt5 qml qt quick) QAbstractTableModel.columnCount() is abstract and must be overridden

问题 QAbstractTableModel.columnCount() is abstract and must be overridden 解决方案 def columnCount(self, parent: QAbstractTableModel) -> int: return len(self.roleNames())

杨宇琛的博客 576

网络变压器等效电路及网络变压器中间抽头作用详解

       华强盛电子导读:要详细了解网络变压器周边EMC管控及网络变压器BOB-SMITH电路的连接原理,首先我们对网络变压器的认识及其电路各参数影响都要有个简要的认识,本文,对非理想网络变压器等效电路做一个详细的分析,其中重点讨论一下网络变压器中间抽头的作用其影响                          网络变压器等效电路及                        ...

网络变压器专业资料 6006

QBitArray

一、描述 QBitArray 是位数组,它提供对单个位的访问并提供对整个位数组起作用的运算符(AND、OR、XOR 和 NOT)。 它使用隐式共享(写时复制)来减少内存使用并避免不必要的数据复制。 以下代码构造了一个包含 200 位初始化为 false (0) 的 QBitArray: QBitArray ba(200); 要将位初始化为 true,请将 true 作为第二个参数传递给构造函数,或者稍后调用 fill()。 QBitArray 使用基于 0 的索引,就像 C++ 数组一样。 要

友善啊,朋友的博客 3917

BrainVision Recorder 和 BrainVision Analyzer 2.2 安装

本篇为《EEG处理》系列博客的第二篇,该系列博客主要记录EEG信号处理的学习过程中的软件安装和学习过程,方便以后查阅。本篇为BrainVision Recorder 和 BrainVision Analyzer 2.2 的安装过程。 BrainVision Recorder 和 BrainVision Analyzer 2.2 安装安装前奏Brain Vision Analyzer分析软件 安装Brain Vision Recorder记录软件 安装推荐几款个人使用的科研软件 安装前奏 Brain V

梁小憨憨的博客 5063

CKA-CN考试之路----16

所以结合本题,如果有多个文件中都存在同一个值,务必统一,或者修改最后一个次序的文件。中以不同的文件名来区分不同目的的配置会更有利于阅读.就像本题中的。但当有多个文件中存在同一个参数的不同值,最后会生效哪个值?中,但随着配置越来越多不怎么容易阅读.当多个文件同时存在一个参数,但值又不同。有时候我们会将所有内存参数全部写在。确认服务状态(2个红框中的内容)

Q先生 300

QT:QBitArray

QbitArray类提供位操作序列。 include<QBitArray> 公有函数: QBitArray() QBitArray( intsize, boolvalue= false ) QBitArray( const QBitArray &other) bo...

weixin_30629977的博客 1048

基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现

在超声CT中,反演算法起着至关重要的作用,它通过从测量数据中恢复出目标物体的内部结构。本文将介绍基于ART算法(Algebraic Reconstruction Technique)和SIRT算法(Simultaneous Iterative Reconstruction Technique)的超声CT反演方法,并提供相应的MATLAB代码实现。本文介绍了基于ART算法和SIRT算法的超声CT反演方法,并提供了相应的MATLAB代码示例。基于ART算法和SIRT算法的超声CT反演及MATLAB代码实现。

2301_79326510的博客 566

QBitArray使用

QBitArray类是Qt的一个有效工具,它用于处理二进制数据,可以表示一系列布尔值(true或false)。QBitArray类在Qt中的独特作用就是封装了许多方便的方法和操作符,可以方便地对二进制数组进行管理和修改。QBitArray还通过更高层次的抽象增强了二进制处理的可读性和易用性。无论您正在开发桌面应用程序还是嵌入式设备,使用QBitArray类都可以为您提供更好的二进制数据管理和处理体验。

zw_ggr_2017的博客 1449

即插即用系列(代码实践) | WACV 2024 CSAM:面向各向异性医学图像分割的 2.5D 跨切片注意力模块

文章摘要: 论文《CSAM: A 2.5D Cross-Slice Attention Module for Anisotropic Volumetric Medical Image Segmentation》提出了一种解决医学图像各向异性问题的创新模块CSAM。针对MRI/CT数据中切片间分辨率差异大的挑战,该模块通过2.5D跨切片注意力机制,结合2D卷积的轻量性和3D上下文感知能力。核心包括语义注意力(通道级)、位置注意力(空间级)和跨切片注意力(支持不确定性建模),能在几乎不增加参数量的情况下有效捕捉

分享顶会顶刊论文即插即用模块 104

【YOLO系列】YOLOv8详解:模型结构、损失函数、训练方法及代码实现

YOLOv8是Ultralytics团队2023年推出的高效目标检测框架,在速度与精度平衡、多任务支持和易用性方面实现突破。模型采用改进的CSPDarknet主干网络、C2f模块和SPPF加速结构,结合PAN-FPN特征融合和解耦检测头设计,支持目标检测、实例分割和关键点检测任务。创新性地使用CIoU定位损失、Focal Loss置信度损失和动态样本分配策略,显著提升检测性能。实验表明,YOLOv8较前代模型mAP提升5-10%,在TensorRT加速下可达1000FPS,提供5种尺寸灵活选择,成为实时目标

一碗白开水一 2779

QT日常记录帖

本帖用于记录日常开发过程中遇到的、已解决的一系列问题或者一些在我看来比较实用的技巧,用于自己复习,不定时更新。

Mydolen的博客 350

万字详解YOLOv8网络结构Backbone/neck/head以及Conv、Bottleneck、C2f、SPPF、Detect等模块

YOLOv8是由Ultralytics开发的最先进的目标检测模型,推升了速度、准确性和用户友好性的界限。YOLO这一缩写代表“你只看一次”(You Only Look Once),通过在一次网络传递中同时预测所有边界框,提升了算法的效率和实时处理能力。相比之下,其他一些目标检测技术需要经过多个阶段或过程来完成检测。YOLOv8在流行的YOLOv5架构上进行了扩展,在多个方面提供了改进。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 14万+

QBitArray使用详解

`QBitArray` 是 Qt 提供的一个位数组类,用于高效地存储和操作一组位。它可以用来处理需要逐位存储和访问的数据,例如位掩码、位图等。下面是 `QBitArray` 的详细使用说明。

啊渊的专栏 1398

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

QBitArray 类详解

是 Qt 中提供的一个用于存储和操作位数组的类。它允许对每个位进行单独的访问和修改,非常适合需要存储大规模布尔值或位操作的场景。QBitArray 提供了强大的位操作能力,适合需要对位进行高效存储和操作的应用场景。的位数组,并将所有位初始化为。如果位数组为空,则返回。创建一个空的位数组。

抟土成人祖,炼石补青天。眼中览银河,手可摘星辰。 983

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

QString、QBitArray

一、初始化QString2、根据QChar[]初始化:3、索引方式初始化4、用其他字符集字符初始化QString默认是Unicode字符的。以下三个函数将字符串转成其他字符集的版本,它们以QByteArray的形式返回字符串的const char*版本:toUtf8()、toLatin1()和toLocal8Bit()。1、resize()重设大小。新分配的字符具有未定义的值。重设大小。新分配的字符具使用参数2初始化。将字符串中的每个字符设置为字符c。

hw5230的博客 618

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【转载】QString,QByteArray和QBitArray之间的转换

原创:http://blog.youkuaiyun.com/lbsljn/archive/2011/03/22/6268548.aspx  欢迎转载 1:QBitArray2QString :也可以转化为整型, 测试程序: 测试输出结果是否和移位结果相同; QBitArray x; int bit; bit = 10; x.resize(32); x.fill(false);

Mr_eee的专栏 1976

用QT编程时遇到的错误总结

前段时间终于把设备管理上位机完成的差不多了,用了差不多有半个月的时间了,因为对QT还不是特别的熟悉,所以中间还是摸索QT的过程。这个上位机程序用到了多线程,数据库操作,网络套接字还有一些界面操作。使用的IDE我选用的是QT CREATOR,个人觉得还是很好用的,里面集成了QT DESIGNER,QT HELP,,QT DEBUG(虽然暂时我还没用过调试器,都是使用Qdebug打印信息和QMesse

System Architect 7298

QBitArray 和 QByteArray 互相转换

QByteArray 转换为 QBitArray // QByteArray 转换为 QBitArray static QBitArray bytesToBits(const QByteArray &bytes) { QBitArray bits(bytes.count() * 8); for (int i = 0; i < bytes.count(); ++i) for (int b = 0; b < 8; ++b) bits.s

开发笔记 2171

QString,QByteArray和QBitArray之间的转换(原创)

QString,QByteArray和QBitArray之间的转换(原创)1:QBitArray2QString :也可以转化为整型,测试程序: 测试输出结果是否和移位结果相同; QBitArray x; int bit; bit = 10; x.resize(32); x.fill(false); x.setBit(bit,true); QBitArray b; b = this->BitArrayInvert(x);

紫侠的天空 9613
上一篇: Oracle 游标
下一篇: QT: :QWheelEvent
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值