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
中的re000B
,而不是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;
}