Why is (10^(-10)) == -4
Why is (10^(-10)) == -4
我正试图计算一些东西,并想检查两个数字之间的差异是否小于10^-10
。它不工作,所以我用std::cout << (double)(10^-10)
,它打印-4
。这是正确的行为吗?我怎样才能改变它,使它实际上导致0.0000000001
?
^
在c语言中是独占的。对于常量,您可能希望使用科学符号1e-10
。对于不同的指数,std::pow
是,正如其他答案所说,解决方案。
^
操作符为位异操作符;它不做幂运算。您可以使用<cmath>
中的pow
函数。
^
is XOR。
使用std::pow
表示指数:
std::cout << std::pow(10.0, -10);
相关文章:
- Why is UINT32_MAX + 1 = 0?
- C++错误:"error: int aaa::bbb is protected within this context"
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- Is !NaN not a NaN?
- Directx 11 - CompileFromFile() is not compiling
- Centos7 g++ "to_string is not in a member of std"
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- Where is std::hardware_destructive_interference_size?
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- What is unordered_set in C++
- 你如何理解"std: :forward is just syntactic sugar"?这是真的吗?
- C++ "error: use of overloaded operator '*' is ambiguous"似乎只有一场比赛
- C++ is calculating wrong
- Is it good to use SDL_PIXELFORMAT_UNKNOWN?
- reference_wrapper导致"incomplete type is not allowed"
- Why is std::abs(9484282305798401ull) = 9484282305798400?
- Why is sizeof(std::mutex)==40 (gcc,clang,icc)?
- Why is (10^(-10)) == -4
- why is sizeof(ptrdiff_t) == sizeof(uintptr_t)