c++中%.2X ,X代表输出是16进制,但是.2是什么意思?我看输出结果应该是02啊。

作者&投稿:荀舍 (若有异议请与网页底部的电邮联系)
关于16进制ASCII值的问题,02X是什么意思?~

0x开头的是16进制。0开头的是8进制。
比如0xF是10进制的15.
010其实就是10进制的8.

请看这里:http://baike.baidu.com/view/468813.htm

(1)有关空格的输出:
可以直接输出,如cout<<" "<<"hello"<<endl;//前一个引号内即空格,输出时即在 hello前输出那几个空格;
也可以指定输出的宽度,用流成员函数width(n),或者用与之作用相同的控制符setw(n),这样要输出的数据在指定的宽度n中,没有占用完的部分就会自动填充空格(默认),当然如果需要也可以指定填充其他的任何字符。

(2)2代表宽度,即指定了要显示的数的宽度,%02x 的整体意思为:将要输出的数字用十六进制显示,宽度为两位。
如果只有一位(即小于16),则个位显示数字,再左边的以0填充;如果数字超过了两位十六进制表示的大小即大于了ff,则显示一个三位数,该是多少是多少,此时的2就不再起作用了。
例如:
printf("%02x ",18);18正好在十六进制中占两位,故显示为12;
printf("%02x ",15);15在十六进制中只占一位,则显示0f;
printf("%02x ",999);999在十六进制中要用3位表示,超过了指定的宽度2,故显示为3e7,此时的2不起作用;

你看的应该是对的,因为C++不支持用16进制格式显示浮点数,所以.2就没有意义,而02则表示占宽2位右对齐,不足2位时前面补0,倍数大于2时按实际宽度输出。如printf("%02X\n",1);则输出01,printf("%02X\n",18);.输出12,而printf("%02X\n",767);则显示2FF。

.2一般是小数点后留2位的意思

C格式化指令"%.2x"表明整数必须用至少两个数字的16进制格式输出。来自于《深入理解计算机系统》CSAPP教材。

%.2X 输出和%02X意思一样,都是保留两位,不足两位补0,输出一下就知道了


端州区17875352312: c++中%.2X ,X代表输出是16进制,但是.2是什么意思?我看输出结果应该是02啊. -
延卢茵芪: 你看的应该是对的,因为C++不支持用16进制格式显示浮点数,所以.2就没有意义,而02则表示占宽2位右对齐,不足2位时前面补0,倍数大于2时按实际宽度输出.如printf("%02X\n",1);则输出01,printf("%02X\n",18);.输出12,而printf("%02X\n",767);则显示2FF.

端州区17875352312: C语言中%02X是什么意思? -
延卢茵芪: X:表示以十六进制形式输出02:表示不足两位,前面补0输出;超出两位,不影响 举例:printf("%02X", 0x123); //打印出:123 printf("%02X", 0x1); //打印出:01

端州区17875352312: C++, 我要输出空格,是直接空两格还是有相应的符号啊,还有%02x 其中的2代表的是什么呢 -
延卢茵芪: (1)有关空格的输出: 可以直接输出,如cout<<" "<<"hello"<<endl;//前一个引号内即空格,输出时即在 hello前输出那几个空格; 也可以指定输出的宽度,用流成员函数width(n),或者用与之作用相同的控制符setw(n),这样要输出的数据在...

端州区17875352312: C++程序解释 x=x%2==0?1:0 是什么意思 -
延卢茵芪: if (x%2 == 0) x = 1; else x = 0; 判断x除以2的余数是否为0 若是0 则x赋值为1否则为0 如果x是偶数,x值为1 否则为0

端州区17875352312: C 格式化输出问题 %2x与%x,有什么区别 -
延卢茵芪: %x,以16进制格式输出,至于输出位数和形式取决于你用哪种数据类型定义的变量 %2x以16进制格式输出,输出只保留两位整数 如有疑问可追问,没有疑问你懂得

端州区17875352312: c++中的'%2d“的意思? -
延卢茵芪: c++中的%2d代表十进制输出宽度为2 .C++是在C语言的基础上开发的一种通用编程语言,应用广泛.C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程.最新正式标准C++14于2014年8月18日公布.其编程领域众广,常用于系统...

端州区17875352312: c++:(x++%2==0)什么时候x=x+1,是不是x%2==0后x=x+1 -
延卢茵芪: 执行分解:1 (x%2==0)2 x++ 你的描述是正确的.总结:++是以编译语句(注意不是操作符操作或函数)为基本单位进行自增执行的. (x%2==0)本身是一条语句,所以++必须在这条语句执行完毕,才会执行.

端州区17875352312: c语言中 printf("%d",x++);最后输出的是x还是x+1? -
延卢茵芪: 如果int x=6,则 printf("%d",x++);输出值为6;printf("%d",++x);输出值为7; 如果再printf("%d",x);输入值为7;

端州区17875352312: C++中下面程序输出为何是1 -
延卢茵芪: 1、这个符号

端州区17875352312: c/c++中%什么意思,怎么用 -
延卢茵芪: fprintf( stream, "%s%c", s, c ); %s -- 打印格式,按字符串方式输出变量s的值(字符串)到文件流stream %c -- 打印格式,按ASCII字符方式输出变量c的值(即打印一个字符)到文件流streamfprintf( stream, "%f\n", fp ); %f 是 浮点格式.int ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网