进制问题

1 在c++中;默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。

2 如果上一个cin确定了是什么进制而下一个没有标明是什么进制,默认上一中输入的进制

3 如果上一个cout确定了是什么进制而下一个没有标明是什么进制,默认上一中输出的进制

 1 #include <iostream>
 2 using namespace std;
 3  
 4 int main()
 5 {
 6     int a;
 7     //如果上一个cin确定了是什么进制而下一个没有标明是什么进制,默认上一中输入的进制
 8     //如果上一个cout确定了是什么进制而下一个没有标明是什么进制,默认上一中输出的进制
 9     while (cin >> hex >> a){
10         cout << a << "          shuru16 shuchu10" << endl;
11         cout << hex<<a << "          shuru16 shuchu16" << endl;
12         cout << "-------------------------" << endl;
13  
14         cin >> dec>>a;
15         cout << a <<"            shuru 10  shuchu10"<< endl;
16         cout << hex << a << "          shuru10 shuchu16" << endl;
17         cout << "-------------------------" << endl;
18  
19         cin >> oct >> a;
20         cout << a << "           8jinzhi" << endl;
21         cin >> a;
22         cout << a << "          shangyizhong" << endl;
23         cout << "-------------------------" << endl;
24     }
25     return 0;
26 }
原文地址:https://www.cnblogs.com/jrfr/p/10548633.html