C++提供十六进制加法
头文件:#include <iomanip> 说明:是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十六进制负数在计算机里表示为补码形式,要显示出带正负号的十六进制形式来就要对其取反加负号,-sum即可。
#include<iostream> using namespace std; int main() { long long m, n, sum;//用int会WA while (cin >> hex >> m >> n) { sum = m + n; if (sum < 0) { cout << '-'; sum = -sum; } cout << hex <<uppercase<<sum<< endl; } return 0; }