杭電ACM1720 2057 十六進製制的輸入輸出

2021-08-19 04:26:34 字數 1665 閱讀 6789

具體題目

**:c語言 1720

(對於c語言的十六進製制的輸入輸出直接用%x即可,簡單方便)

#includeint main()

return 0;

}

**:c++ 1720+2057

#include#includeusing namespace std;

int main()

cout注意事項:你要明白的是 計算機存入的資料是二進位制 0 1  所以scanf("%d",&a);就是你輸入的乙個十進位制 比如 你輸入10(這邊是十進位制數) 他也代表10(十六進製制) 計算機儲存是 10000scanf("%x",&a);就是你輸入的乙個十六進製制 比如 你輸入10(是這邊是十六進製制數) 他也代表8(十進位制) 計算機儲存是 1000而在計算b=a/15-273 的時候 計算機是用它們各自表示的二進位制來計算的 因此事實上得到的b存在計算機裡是以二進位制存在的 只是當你輸出時候利用強制轉換輸出才變成我們想要的十進位制或者十六進製制 比如: 在b輸出時候用十六進製制輸出 也就是printf("%x",b);

c++也提供十六進製制加法

標頭檔案:#include

說明:是i/o流控制標頭檔案,就像c裡面的格式化輸出一樣

控   制   符                    

作           用                                     

dec 

設定整數為十進位制

hex設定整數為十六進製制

oct設定整數為八進位制

setbase(n)

設定整數為n進製(n=8,10,16)

setfill(n)

設定字元填充,c可以是字元常或

字元變數

setprecision(n)

設定浮點數的有效數字為n位

setw(n)

設定字段寬度為n位

setiosflags(ios::fixed)

設定浮點數以固定的小數字數顯示

setiosflags(ios::scientific)  

設定浮點數以科學計數法表示

setiosflags(ios::left)

輸出左對齊

setiosflags(ios::right)

輸出右對齊

setiosflags(ios::skipws)

忽略前導空格

setiosflags(ios::uppercase)

在以科學計數法輸出e與十六進製制

輸出x以大寫輸出,否則小寫。

setiosflags(ios::showpos)

輸出正數時顯示"+"號

setiosflags(ios::showpoint)

強制顯示小數點

resetiosflags() 

終止已經設定的輸出格式狀態,在括號中應指定內

hex的輸出中字母預設為小寫,需要加上uppercase

十六進製制負數在計算機裡表示為補碼形式,要顯示出帶正負號的十六進製制形式來就要對其取反加負號,-c即可!

2057

#include#includeusing namespace std;

int main()

cout<

} return 0;

}

杭電ACM題目分類

基礎題 1000 1001 1004 1005 1008 1012 1013 1014 1017 1019 1021 1028 1029 1032 1037 1040 1048 1056 1058 1061 1070 1076 1089 1090 1091 1092 1093 1094 1095 1...

杭電acm 排列2

這題的核心演算法就是排列問題 就目前常用的排列演算法有兩種 一種是按字典列出排序,c stl所使用的方法,能夠支援重複元素的全排列。另外一種是使用遞迴生成排序。先說容易理解的一種方法,使用遞迴生成排序 例如1,2,3,4,這個序列。最開始,也就是遞迴最外層我們可以將其分成 1 2,3,4,2 1,3...

杭電ACM 三 洗牌問題

每行乙個整數n 輸出與之對應的m 20 1 20 2 檔名稱 test.cpp 作 者 冷基棟 完成日期 2015年2月13日 版 本 號 v1.0 include using namespace std int main else if c 1 break m cout執行結果 知識點總結 關於這...