C++中輸入輸出的十六進制八進制


1、數的進制

默認進制:
默認狀態下,數據按十進制輸入輸出。如果要求按八進制或十六進制輸入輸出,在cin或cout中必須指明相應的數據形式,oct為八進制,hex為十六進制,dec為十進制。

 1 int i, j, k, l;
 2 cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;
 3 cin>>oct>>i; //輸入為八進制數
 4 cin>>hex>>j; //輸入為十六進制數
 5 cin>>k; //輸入仍為十六進制數
 6 cin>>dec>>l; //輸入為十進制數
 7 cout<<”hex:”<<”i=”<<hex<<i<<endl;
 8 cout<<”dec:”<<”j=”<<dec<<j<<′\t′<<”k=”<<k<<endl;
 9 cout<<”oct:”<<”l=”<<oct<<l;
10 cout<<dec<<endl; //恢復十進制輸出狀態
11 
12 【執行結果】:
131)輸出提示:Input i(oct), j(hex), k(hex), l(dec):
142)此時從鍵盤輸入: 032 0x3f 0xa0 17 <CR>
153)輸出結果為:
16 
17 hex:i=1a
18 dec:j=63 k=160
19 oct:l=21

幾點說明:

使用不帶.h的頭文件<iostream>時,必須在cin中指明數制,否則從鍵盤輸入時,不認八進制和十六進制數開頭的0和0x標志。指明后可省略0和0x標志。

進制控制只適用於整型變量,不適用於實型和字符型變量。

輸入數據的格式、個數和類型必須與cin中的變量一一對應,否則不僅使輸入數據錯誤,而且影響后面其他數據的正確輸入。

在cin或cout中指明數制后,該數制將一直有效,直到重新指明使用其他數制。

2、數據間隔

常用設置方法:輸出空格符或回車換行符。

指定數據輸出寬度:用C++提供的函數setw()指定輸出數據項的寬度。setw()括號中通常給出一個正整數值,用於限定緊跟其后的一個數據項的輸出寬度。如:setw(8)表示緊跟其后的數據項的輸出占8個字符寬度。

 1 int i=2, j=3;
 2 float x=2.6, y=1.8;
 3 cout<<setw(6)<<i<<setw(10)<<j<<endl;
 4 cout<<setw(10)<<i*j<<endl;
 5 cout<<setw(8)<<x<<setw(8)<<y<<endl;
 6 
 7 則輸出結果為:
 8 2 3
 9 6
10 2.6 1.8

setw()只能限定緊隨其后的一個數據項,輸出后即回到默認輸出方式。
使用setw()必須在程序開頭再增加一句: #include<iomanip>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM