有没有人想到一个简单的std::cout可能会以十六进制格式打印一个值,而该值只能设置为十进制格式(如整数)?

例如,我有一行:

std :: cout <<“ _Agent [” <<目标<<“]仍在” << ((target-> currWorker)-> getEntities()。size()) <<“ worker []的实体target-> currWorker <<“]” << std :: endl;

将打印:

_Agent [0x2c6d530]仍在worker [0x2c520f0]的0x1实体中

注意:

1-所说的输出有时是十进制,有时是十六进制

2-即使我将((target->currWorker)->getEntities().size())更改为(int)((target->currWorker)->getEntities().size())

有什么提示吗?

谢谢

===============>>#1 票数:16 已采纳

您可能已将std :: cout设置为在代码上下文中预先打印十六进制,但忘记了重置。 例如:

std::cout<<std::hex<<12;
/*blah blah blah*/
std::cout<<12; //this will print in hex form still

所以你必须像下面这样

std::cout<<std::dec<<12;

以十进制形式打印。

===============>>#2 票数:4

尝试找到像这样的行std::cout << std::showbase << std::hex; 代码中的某些位置,它将std::cout为以0x基本指示符前缀的十六进制输出输出。 要将其重置为显示十进制,请在当前cout之前添加以下行std::cout<<std::dec

您可以在此处了解有关c ++ io机械手标志的更多信息

  ask by rahman translate from so

未解决问题?本站智能推荐:

2回复

十六进制到十进制转换

我必须将十六进制转换为十进制值,然后将其乘以10,然后再转换回十进制。 我弄清楚了大部分问题,当我将其乘以10并将其转换回十六进制值时,就会发生问题。 我知道有一种更简单的方法,只需使用char数组即可完成。 我似乎无法弄清楚哪里出了问题。
2回复

二进制转换中的十六进制与十进制

例如,这是设置整数变量(例如C ++)的两种方法: 哪个语句将编译更快实际位设置为整数值? 编辑 :*编译从执行更改。 我假设到二进制的转换是在执行时,但考虑到@muntoo的回答,似乎是在编译时
1回复

十进制转换为十六进制-反转十六进制值

我需要用一个int调用byteSwap(),然后将其转换为十六进制并反转十六进制。 例如 byteSwap(2030)或7ee(十六进制)应返回ee7。 该程序还执行其他一些操作,我想使用reverse()在byteSwap()中进行反转。 我尝试在byteSwap()中使用几个不同的循
5回复

如何正确解释数字(十六进制,十进制,十进制)

我正在尝试编写一个程序,该程序接受-十六进制,八进制和十进制-的输入,将它们存储在整数变量中,并输出它们以及将其转换为十进制形式。 例如: 用户输入:0x43、0123、65 程序输出: 所以显然我需要一种解释数字的方法,但是我不确定如何去做。 我尝试了各种方法,例如将它
1回复

十六进制值到自定义十进制值

我得到了需要通过特定规则转换的8位值。 规则是 值类型是无符号的 步骤是0.1(在文档中保留Res ,我不确定那是什么意思) 偏移量是-10(我也不太清楚) 值范围是[-10,+15.5](包括两者) 我的想法是将其表示为uint8_t ,如果numb
2回复

在编译时将十进制转换为十六进制

我正在尝试创建一个程序,该程序可以在编译时从十进制数转换为十六进制数。 不幸的是,我是元编程的新手,在编译时我找不到一种方法。 有什么想法可以解决这个问题吗? 如何在不违反模板元编程原理的情况下表示这样的数字。
1回复

在C ++中将十六进制签名为十进制

通过使用std :: hex和std :: dec,可以从字符串中解析十六进制并将其转换为C ++中的十进制数。 但是,如果对十六进制数字签名,该怎么办? 例如,以下代码将得出结果241,如果输入“ F1”为无符号十六进制,则结果正确,但如果输入为有符号十六进制,则结果应为-15。 是
1回复

将void *十六进制转换为十进制整数

您好,我需要您的帮助将void *(十六进制数字)转换为十进制数字。 我在代码中使用了sqlite3,回调函数给了我一个&data,其中包含行数。 问题是:我需要将&data(十六进制数字)保存为int。 也许有另一种方法可以执行此操作,但是我尝试将&data十六进制转换为十进制int,问
2回复

将Char指针中的十六进制转换为十进制

我有一个C ++应用程序,该应用程序具有许多由不同应用程序调用的API。 C ++应用程序的功能之一是, 我试过的 也试过了 再也不是将每一位数字一位一位地转换为十进制。 那么我该怎么做才能将这种包含十六进制的char指针转换为十进制呢?
1回复

C ++程序将十进制转换为十六进制

我编写了一个程序,使用对字母的切换命令将十进制字符串转换为十六进制,但是如果使用char,该程序将无法正常运行! 没有切换,我将无法处理高于9的数字。我希望您能理解我,因为我的语言不太好。 所以这是我的程序 顺便说一句,如果将它设置为int而不是char它可以正常工作,但是它变成1