C++——二进制输出一个数以及输出double型位数过多情况

来源:互联网 发布:excel多表格数据合计 编辑:程序博客网 时间:2024/05/21 02:53

先看程序

unsigned int c = -1;cout << bitset<32>(c) << endl;//输出32个1cout << c << endl;//和下面一行一样,输出4294967295cout << setprecision(10) << pow(2, 32) - 1 << endl;

1.首先因为c是无符号类型的,-1因为负数,用补码保存,就是连续的32个1,所以用bitset按位输出时,就会输出32个1.(注意:使用bitset要包含头文件#include <bitset>
2.直接输出c和pow(2,32)-1结果一样,但是pow返回值是double型,输出会是科学计数法,想要输出显示完整,可以用setprecision(n),其中的n表示输出位数,因为这个数是10位,所以n为10
结果:
这里写图片描述

0 0
原创粉丝点击