`
qimo601
  • 浏览: 3418675 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

C++中如何表示2进制,8进制、16进制变量

阅读更多


1、C和C++都没有提供二进制数的表达方法。

2、C,C++语言中,如何表达一个八进制数呢

     如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。

     所以,C,C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。


     int 0123;

     这就是八进制数在C、C++中的表达方法。但是有一个例外就是转意符'\'。

     因为C,C++规定不允许使用斜杠加10进制数来表示字符,所以 :

 


'?' //ASCII值是63
'\077' //是8进制表示'?',0可以省略,因为C,C++规定不允许使用斜杠加10进制数来表示字符
'\0x3F' //是16进制表示'?'
 


3、 C,C++规定,16进制数必须以 0x开头


      int 0x15A

      其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母o)。




注:

1) 8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。

2) Qt中把十进制整型值转换成16进制 的字符串方法。

      int a = 63;

     QString s = QString::number(a, 16);                   // s == "3f"

     QString t = QString::number(a, 16).toUpper();     // t == "3F"

3) QString 存储16进制值

 

  1. //将字符串以16进制形式输出  
  2. QString cmd = 0x0a;  
  3. qDebug() <<" cmd:"<< cmd.toAscii().toHex();

 

4)QString 按照字符串表面格式 转换成16进制

 

     QString str = "FF";
     bool ok;
     int hex = str.toInt(&ok, 16);       // hex == 255, ok == true 0xFF
     int dec = str.toInt(&ok, 10);       // dec == 0, ok == false
 

4) QByteArray 存储16进制值 

 

static const char mydata[] = {
		0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76,
		0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99,
		0x6d, 0x5b
	};

	QByteArray bd = QByteArray::fromRawData(mydata, sizeof(mydata));
	qDebug() <<"bd.data:" <<bd.data();
	qDebug() <<"bd.toHex():"<<bd.toHex();//输出16进制值
 

5) QChar 存储16进制值,打印

 

 

QChar c = 0x0A;

QByteArray array;
array.append(c);

qDebug() << array.toHex();//结果是"0a"

 6)char* 存储16进制,打印

 

char c[] = {0x0A,0x0B,'\0'};

QByteArray array(c);

qDebug() << array.toHex();//结果 "0a0b"

 

 

0
0
分享到:
评论

相关推荐

    c++16进制string转10进制string(非用数值型中间变量转换,无溢出问题)

    这样会导致一个问题就是溢出,当十六进制表示的十进制很大的情况下根本无法转换,遂用一种极为傻瓜但高效的方式,实现了一种16进制字符串(例如“FFFFFF”)转10进制字符串(“16777215”)的方法,非常好用。

    C++十六进制宏的用法详解

    流行的用法:用二进制的每一位代表一种状态。 001,010,100这样就表示三种状态。 通过或|运算就可以组合各种状态。 001|010=011 001|010|100=111 通过与&运算可以去除某种状态。 111&001=110 可以定义这样的宏组合成...

    MFC十进制转十六进制计算器

    使用VS2010的MFC写了一个进制转换的小计算器。 涉及十进制转十六进制,int,char,CString之间的转换等 对初学C++的人可能对进制的转换,以及变量类型的转换很是头疼,希望对初学者有所帮助

    4字节16进制数转换为float浮点数的原理及Qt算法实现示例

    使用C++位运算实现4字节十六进制数转换为float数,在项目应用中需要此函数,没有找到合适的现成实现代码,所以自己编写实现了一个函数,希望对用着的朋友有帮助

    程序员二进制计算器 v1.36

    运算结果可存放在变量中。 内置常用生活函数。 总之,此计算器相当于解释执行的C语言表达式,但用起来更方便、更高效。 使用前请仔细阅读窗口内的帮助,便可成为开发工作中的好帮手。 [程序员二进制计算器 v1.36 ...

    编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。(要求:十六进制允许的字符是从0~9和a~f或A~F)

    热力图生成算法的具体实现(C++,OpenCV)

    热力图生成算法的具体实现(C++,OpenCV),搭配https://blog.csdn.net/charlee44/article/details/124895644食用。

    新手学习C++入门资料

    这些关键字能作为函数和变量的标识符在C程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++...

    21天学通c++ 中文 第五版

    第2章 C++程序的组成部分 第3章 使用变量和常量 第4章 创建表达式和语句 第5章 组织成函数 第6章 理解面向对象编程 第7章 再谈程序流程 第1周复习 第2周课程简介 第8章 理解指针 第9章 使用引用 第10章 ...

    Visual c++源代码

    实例2-11:全局变量和局部变量。源代码在光盘中“\02\eleventhcpp”目录下。 实例2-12:使用指针注意内存的分配。源代码在光盘中“\02\twelfthcpp”目录下。 实例2-13:引用实例。源代码在光盘中“\02\thirteencpp”...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×支持C++单继承,动态绑定,重载,指针结构(列表、树、图、循环图,定长数组,动态数组,枚举,64位2进制编码及16进制编码)。  ×不需要重写现有的C/C++应用。但是,不能用unions,指针和空指针来作为远程方法...

    C++复习资料之系列

    在一个C++程序中,main函数的位置( c )。 (a) 必须在程序的开头 (b) 必须在程序的后面 ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) ...

    C++零基础(数据类型)

    1 0123表示八进制数123 既(123)8 0x123 123 既(123)16 2 指数0.345E+2表示0.345*10平方,-34.4E-3表示-34.4*10负立方 (e可以大小写) 3 实型常量默认为double型,如果后挚为F(f)则为flont型 4 单引号括起来的一...

    图片转zpl编码的方法,支持bmp、png、jpg等各种格式以及13种常用条码的zpl命令

    实现思路: 1、获取图片的二值化字节数组 这一步是关键 2、将字节数组转为十六进制 3、压缩十六进制字符串 结尾为1、0或者与上一行相同的;相同的连续字符压缩 4、拼凑ZPL编码,宽度需要扩大,因为需要时8个点(1字节)...

    C++的概念/解释,可打印,华南师范大学C++考过。

    自己整理的C++要背的一些概念,华南师范大学考c++的建议看看,21届考研有考到哦!!(可打印版) 1. 面向对象的三个基本特征 4 2. 抽象 4 3. 如何实现多态性 4 4. const与define的区别 4 5. static作用 4 6. 静态...

    C++Primer视频(初级)下载地址

    第2章 变量 8.第2章 变量名 9.第2章 定义对象 10.第2章 声明和定义 11.第2章 名字的作用域 12.第2章 const 限定符 13.第2章 引用 14.第2章 typedef 15.第2章 枚举 16.第2章 类类型 17.第2章 ...

    Visual C++编程从基础到实践

    实例2-11:全局变量和局部变量。源代码在光盘中“\02\eleventhcpp”目录下。 实例2-12:使用指针注意内存的分配。源代码在光盘中“\02\twelfthcpp”目录下。 实例2-13:引用实例。源代码在光盘中“\02\thirteencpp”...

    c++ 面试题 总结

    15.用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()函数 A1: 16位的系统下, int i = 65536; cout ; // 输出0; int i = 65535; cout ; // 输出-1; 32位的系统下, int i = 65536; cout ; ...

    C++笔记--你一定用的上

    2.register(寄存器)型:(一般情况下不必这样指定)存放在CPU的通用寄存器中;只能放长度允许类型 3.static(静态)型:存放在一般内存区域中. 变量的作用域和生成期: 1.全局变量:函数外定义的变量 -由编译器建立(但...

Global site tag (gtag.js) - Google Analytics