【发布时间】:2017-10-06 05:12:45
【问题描述】:
如果这个错误是由拼写错误引起的,我深表歉意,但当正确的语法应该是 y=-x; 时,我不知道如何使变量为负数;
std::cout << "loop size = " << loop_size_ << std::endl;
core::Size neg_loop_size_ = -loop_size_;
std::cout << "neg loop size = " << neg_loop_size_ << std::endl;
当我运行它时,这是我得到的结果:
loop size = 4
neg loop size = 18446744073709551612
如何获得等于 -4 的新变量?
【问题讨论】:
-
这是一个无符号整数类型,这就是为什么你没有得到负值。 core::Size 的数据类型应带符号以保存本机整数
-
看来
core::Size是一个unsigned 整数类型,这意味着它永远不可能是“负数”。如果您尝试打印-loop_size_,会发生什么? -
这是有道理的,它是无符号的 - core::Size 是一个整数,用于永远不会变为负数的东西。我将使用不同的数据类型...谢谢!
标签: c++ variables negative-integer