你看的应该是对的,因为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,输出一下就知道了