在C ++中使用十进制,八进制和十六进制基本格式读取/写入整数值

传统上,cout以十进制格式读取/写入值。要以其他基本格式(如“八进制基本格式”“十六进制基本格式”)读取/写入值,可以使用一些C ++操纵器

dec-十进制基本格式
oct-八进制基本格式
hex-十六进制基本格式

示例

在此示例中,我们将以八进制基本格式十进制基本格式十六进制基本格式打印(写入)名为var的变量的值(十进制基本格式的var值为100)。

#include <iostream>
using namespace std;

int main(){
	int var=100;
	cout<<"Decimal Base format: "		<<dec<<var<<endl;
	cout<<"Octal Base format: " 		<<oct<<var<<endl;
	cout<<"Hexadecimal Base format: "	<<hex<<var<<endl;
	
	return 0;
}

输出结果

Decimal Base format: 100
Octal Base format: 144
Hexadecimal Base format: 64

注意:无需使用dec Manipulator以十进制基数格式打印,因为cout以十进制基数格式打印值。

示例

在此示例中,我们将打印三个变量var1,var2和var3的值,它们是分别使用DecimalOctalHexadecimal Base格式初始化的整数变量。

#include <iostream>
using namespace std;

int main(){
	int var1 = 100; 	//十进制基本格式
	int var2 = 0144; 	//八进制基本格式
	int var3 = 0x64;	//十六进制基本格式
	
	cout<<"var1: "<<var1<<endl;
	cout<<"var2: "<<var2<<endl;
	cout<<"var3: "<<var3<<endl;
	
	return 0;
}

输出结果

var1: 100
var2: 100
var3: 100

var1,var2和var3分别用Decimal,Octal和Hexadecimal格式初始化,cout以Decimal格式打印所有值,因此,如果我们不使用任何操纵器,则cout仅以Decimal格式打印