C++中八进制、十六进制输入输出

本文详细介绍了如何在C++中定义不同进制的变量并控制浮点数的输出精度,通过具体代码示例展示了如何正确输出八进制、浮点数保留三位小数及字符变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验二 基本数据处理

2_2 编程,定义变量a,值为八进制整数20,变量b,值为0.1239567,保留三位小数输出,变量c,值为大写字母A。

期望运行结果如下:

a=20

b=0.124

c=A

c++中输入八进制是以0开头的;如果是16进制,则是0x或者0X,如 int temp = 0XA; //temp == 10 

简单粗暴点,定义后直接输出:

#include<iostream>
using namespace std;

int main()
{
	int a = 020;
	float b = 0.1239567f;
	char c = 'A';

	cout << "a=" << a<<endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl;
	system("pause");
	return 0;
}

这样的结果是:

显然不是题目要求的。

题目考察的知识点是c++进制输出格式的考察。通过参考https://www.cnblogs.com/wjw2018/p/9286079.html这个链接博客,了解到:dec指示cout以十进制输出,hex指示cout以十六进制输出,oct指示cout以八进制输出

小数输出精度控制,可以通过cout.precision(x)接口去实现,x为显示的有效位数或小数位数将固定表示法的小数点后面。这样设置后程序的cout流输出的小数都是保留x有效位。目前我也没有找到啥方法能还原回去。或者使用兼容C的printf("%0.3f", x)

改后的代码如下:

#include<iostream>
using namespace std;

int main()
{
	
	int a = 020;
	float b = 0.1239567f;
	char c = 'A';
	
	cout << "a=" << oct << a << endl;
	cout.precision(3);
	cout << "b=" << b << endl;
	cout << "c=" << c << endl;
	system("pause");
	return 0;
}

这样输出就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值