【问题标题】:C++ std::cout displaying 64C++ std::cout 显示 64
【发布时间】:2020-09-24 23:16:47
【问题描述】:

std::cout << 100 << std::endl;

我已经编写了这段代码,但是当我去查看结果时,它会打印 64?有人知道这是为什么吗?

【问题讨论】:

  • 请显示所有代码。 cout 可能充满了一个修改器,它改变了显示数字的基数。这也是 C++ 还是 C++/CLI?这些是不同的语言,您应该只使用其中一种进行标记。
  • 64 是十六进制的 100,这是一个提示。
  • 是否有人(可能是您)将您的信息流设置为hex 模式?
  • std::cout << std::dec 会做到的。

标签: c++ hex decimal


【解决方案1】:

你来了。

#include <iostream>
#include <iomanip>

int main() 
{
    std::cout << 100 << std::endl;
    std::cout << std::hex << 100 << std::endl;
    std::cout << 100 << std::endl;
    std::cout << std::dec << 100 << std::endl;
    std::cout << 100 << std::endl;

    return 0;
}

程序输出是

100
64
64
100
100

您得到了输出 64,因为在前面的代码中某处使用了标准操纵器 std::hex

【讨论】:

  • 噢噢噢噢噢噢噢噢!我们也可以使用八进制吗?
猜你喜欢
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 2020-11-05
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多