【C++】【cout】cout 二进制输出,bitset用法;八进制、十进制、十六进制输出

4 篇文章 0 订阅

一、cout

cout不支持输出二进制,只支持八、十、十六进制输出;

要输出二进制要用到bitset。应该是bitset 重载了<<

1、bitset

template <size_t N> class bitset;

是一个二进制容器。

2、二进制输出:

int i = -135;

while (1)
{
	cout <<i<<" : "<< bitset<sizeof(int) * 8>(i) << endl;
	i <<= 1;
}

结果如下:

-135 : 11111111111111111111111101111001
-270 : 11111111111111111111111011110010
-540 : 11111111111111111111110111100100
-1080 : 11111111111111111111101111001000
-2160 : 11111111111111111111011110010000
-4320 : 11111111111111111110111100100000
-8640 : 11111111111111111101111001000000
-17280 : 11111111111111111011110010000000
-34560 : 11111111111111110111100100000000
-69120 : 11111111111111101111001000000000
-138240 : 11111111111111011110010000000000
-276480 : 11111111111110111100100000000000
-552960 : 11111111111101111001000000000000
-1105920 : 11111111111011110010000000000000
-2211840 : 11111111110111100100000000000000
-4423680 : 11111111101111001000000000000000
-8847360 : 11111111011110010000000000000000
-17694720 : 11111110111100100000000000000000
-35389440 : 11111101111001000000000000000000
-70778880 : 11111011110010000000000000000000
-141557760 : 11110111100100000000000000000000
-283115520 : 11101111001000000000000000000000
-566231040 : 11011110010000000000000000000000
-1132462080 : 10111100100000000000000000000000
2030043136 : 01111001000000000000000000000000
-234881024 : 11110010000000000000000000000000
-469762048 : 11100100000000000000000000000000
-939524096 : 11001000000000000000000000000000
-1879048192 : 10010000000000000000000000000000
536870912 : 00100000000000000000000000000000
1073741824 : 01000000000000000000000000000000
-2147483648 : 10000000000000000000000000000000
0 : 00000000000000000000000000000000
0 : 00000000000000000000000000000000

3、 八、十、十六进制输出:

C++ 支持一下类型的~~~格式表示integer;

其用于将数据流格式设置为对应格式。设置完了后面都按照这个格式。除非再设置回十进制。

在这里插入图片描述

	int i = -135;

	cout << hex << i++ << endl;
	cout << i++ << endl;
	cout << i++ << endl;
	cout << oct << i++ << endl;
	cout << i++ << endl;
	cout << i++ << endl;	
	cout << dec << i++ << endl;
	cout << i++ << endl;
	cout << i++ << endl;

结果如下:

ffffff79
ffffff7a
ffffff7b
37777777574
37777777575
37777777576
-129
-128
-127
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值