C++ 如何加十六进制(无输出)?

C++ 如何加十六进制(无输出)?,c++,hex,std,number-formatting,C++,Hex,Std,Number Formatting,我的代码: #包括 使用名称空间std; int main(){ 无符号整数a=0x0009,b=0x0002; 无符号整数c=a+b; cout据我所知,您希望以十六进制特定格式检索结果XXXX 计算加法与计算任何基数都是一样的,您只需要使用(这里我显示)您格式的结果 您可以这样做,例如: #包括 #包括 std::string displayInPersonalizedHexa(无符号整数a) { std::stringstream-ss; 当你这样做的时候 int main() {

我的代码:

#包括
使用名称空间std;
int main(){
无符号整数a=0x0009,b=0x0002;
无符号整数c=a+b;

cout据我所知,您希望以十六进制特定格式检索结果
XXXX

计算加法与计算任何基数都是一样的,您只需要使用(这里我显示)您格式的结果

您可以这样做,例如:

#包括
#包括
std::string displayInPersonalizedHexa(无符号整数a)
{
std::stringstream-ss;
当你这样做的时候

int main() {
    unsigned int  a = 0x0009, b = 0x0002;
    unsigned int  c = a + b;
}
然后
c
的值为
11
,它的值也为
0x000B
。在使用
11
作为基础的表示中,它的值也为
10

11
0x000B
(和
10
)是相同值的不同表示形式


当使用默认代码> STD::CUT<代码>时,默认情况下打印的数字为十进制。您选择在屏幕上打印值的表达式对实际值“代码> >代码> >没有影响。

代码>检查C++ +代码> IOMANIP 已存储在C>/C>中。您可以选择在任何基础上显示它。想要。@yui您已经有了。存储在
c
中的值在十进制中是11,或在十六进制中是
0xB
,或在八进制中是
013
,或在二进制中是
0b1011
。这些都是相同的值,只是表示方式不同。回答您的问题了吗?谢谢。但我不想输出c。我只想停止在
c
中的re
000B
,而不是
11
中的
c
c是一个无符号的整数。其中包含数字。如果您希望使用
000B
,则应该使用另一种类型(例如字符串)。我修改了代码,现在您可以有一个包含
000B
的字符串变量。它合适吗?我不想存储在十进制中。我想存储在hexdecimal@yui它很可能在内部以二进制格式存储。您试图解决的真正问题是什么?@yui您无法选择它在内部的存储方式。为什么要这样@idclev463035818我的想法,因为我必须保持十六进制计数。@yui十六进制计数与十进制计数完全相同。你加上
1
,值就会增加
1
。你加上两个数字,结果就是两个数字的总和。为什么你必须“保持十六进制计数”?
c = 000B
int main() {
    unsigned int  a = 0x0009, b = 0x0002;
    unsigned int  c = a + b;
}