C 中輸入輸出的十六進製制八進位制

2021-06-22 21:14:39 字數 1598 閱讀 9757

posted on 

2012-09-18 22:14

dm張朋飛 閱讀(

6) 編輯收藏

1、數的進製

預設進製:

預設狀態下,資料按十進位制輸入輸出。如果要求按八進位制或十六進製制輸入輸出,在cin或cout中必須指明相應的資料形式,oct為八進位制,hex為十六進製制,dec為十進位制。

1

inti, j, k, l;

2 cout<

3 cin>>oct>>i; //

輸入為八進位制數

4 cin>>hex>>j; //

輸入為十六進製制數

5 cin>>k; //

輸入仍為十六進製制數

6 cin>>dec>>l; //

輸入為十進位制數

7 cout<

8 cout<

9 cout<

10 cout/

恢復十進位制輸出狀態

1112

【執行結果】:

13 (1

14 (2)此時從鍵盤輸入: 032

0x3f

0xa0

1715 (3

)輸出結果為:

1617 hex:i=1a

18 dec:j=63 k=160

19 oct:l=21

幾點說明:

使用不帶.h的標頭檔案時,必須在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<6)<10)

4 cout<10)

5 cout<8)<8)

則輸出結果為:82

39610

2.61.8

setw()只能限定緊隨其後的乙個資料項,輸出後即回到預設輸出方式。

使用setw()必須在程式開頭再增加一句: #include

給你乙個例子 用6.0執行   參考下

//c++ precision() c++四捨五入 函式設定或返回當前要被顯示的浮點變數的位數

//streamsize precision();

//streamsize precision( streamsize p );

#includevoid main()

{ float num = 314.15926535;

cout.precision(4);

cout << num<

C 中輸入輸出的十六進製制八進位制

1 數的進製 預設進製 預設狀態下,資料按十進位制輸入輸出。如果要求按八進位制或十六進製制輸入輸出,在cin或cout中必須指明相應的資料形式,oct為八進位制,hex為十六進製制,dec為十進位制。1 inti,j,k,l 2 cout input i oct j hex k hex l dec ...

C C 輸入輸出(八進位制 十進位制 十六進製制)

預設情況 cinorcout在預設情況下按照十進位制輸入輸出.八進位制 要使輸入為八進位制數,首先切換至八進位制輸入 cin oct 接下來輸入八進位制數 cin a a 是八進位制數十六進製制 要使輸入為十六進製制數,首先切換至十六進製制輸入 cin hex 接下來輸入十六進製制數 cin a a...

c 和C語言十六進製制八進位制輸入輸出表達方式

cin oct a 代表輸入的為八進位制數 cin hex a 代表輸入的為十六進製制數 cout cout 注意標頭檔案 include cout setiosflags ios uppercase n scanf o d 輸入八進位制數 scanf x d 輸入十六進製制數 字母為小寫 scan...