Questions tagged [numeric-limits]

std::numeric_limits is a C++ standard library class that contains traits and information about the built-in numeric types, such as the maximum and minimum representable values, number of digits, and whether it is a signed type. Access to this class is provided via the header .

117 questions
255
votes
6 answers

Why is 0 < -0x80000000?

I have below a simple program: #include #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); …
Jayesh Bhoi
  • 24,694
  • 15
  • 58
  • 73
217
votes
7 answers

maximum value of int

Is there any code to find the maximum value of integer (accordingly to the compiler) in C/C++ like Integer.MaxValue function in java?
d3vdpro
  • 2,887
  • 4
  • 25
  • 29
60
votes
6 answers

warning C4003 and errors C2589 and C2059 on: x = std::numeric_limits::max();

This line works correctly in a small test program, but in the program for which I want it, I get the following compiler complaints: #include x = std::numeric_limits::max(); c:\...\x.cpp(192) : warning C4003: not enough actual…
Harvey
  • 2,062
  • 2
  • 21
  • 38
54
votes
2 answers

Syntax error with std::numeric_limits::max

I have class struct definition as follows: #include struct heapStatsFilters { heapStatsFilters(size_t minValue_ = 0, size_t maxValue_ = std::numeric_limits::max()) { minMax[0] = minValue_; minMax[1] = maxValue_; …
mmostajab
  • 1,937
  • 1
  • 16
  • 37
50
votes
3 answers

Negative infinity

I'm trying to figure out how to assign the value of negative infinity to a float or double variable. It seems that including the standard library limits, I can get the infinity representation, and I know (quite surely) that adding a minus in front…
Setzer22
  • 1,589
  • 2
  • 13
  • 29
49
votes
6 answers

Is it possible to read infinity or NaN values using input streams?

I have some input to be read by a input filestream (for example): -365.269511 -0.356123 -Inf 0.000000 When I use std::ifstream mystream; to read from the file to some double d1 = -1, d2 = -1, d3 = -1, d4 = -1; (assume mystream has already been…
Drise
  • 4,310
  • 5
  • 41
  • 66
42
votes
2 answers

‘numeric_limits’ was not declared in this scope, no matching function for call to ‘max()’

I compiled this code at home on my mac w/ xcode and there was no provblem. I compile it at school with g++ on linux and I get these errors: numeric_limits’ is not a member of std expected primary-expression before ‘>’ token no matching function for…
Matt Munson
  • 2,903
  • 5
  • 33
  • 52
42
votes
2 answers

Why does numeric_limits::min return a negative value for int but positive values for float/double?

Why does numeric_limits::min return a negative value for int, but positive values for e.g. float and double? #include #include using namespace std; int main() { cout << "int: " << numeric_limits::min() << " " <<…
gnzlbg
  • 7,135
  • 5
  • 53
  • 106
37
votes
12 answers

Why is the maximum value of an unsigned n-bit integer 2ⁿ-1 and not 2ⁿ?

The maximum value of an n-bit integer is 2n-1. Why do we have the "minus 1"? Why isn't the maximum just 2n?
Ugdu Shan
  • 395
  • 1
  • 3
  • 3
31
votes
1 answer

Why is std::numeric_limits::max() a function?

In the C++ Standard Library the value std::numeric_limits::max() is specified as a function. Further properties of a specific type are given as constants (likestd::numeric_limits::is_signed). All constants that are of type T are given as…
ablaeul
  • 2,750
  • 20
  • 22
31
votes
4 answers

Why is FLT_MIN equal to zero?

limits.h specifies limits for non-floating point math types, e.g. INT_MIN and INT_MAX. These values are the most negative and most positive values that you can represent using an int. In float.h, there are definitions for FLT_MIN and FLT_MAX. If you…
Nick Forge
  • 21,344
  • 7
  • 55
  • 78
30
votes
5 answers

Using numeric_limits::max() in constant expressions

I would like to define inside a class a constant which value is the maximum possible int. Something like this: class A { ... static const int ERROR_VALUE = std::numeric_limits::max(); ... } This declaration fails to compile with…
FireAphis
  • 6,650
  • 8
  • 42
  • 63
20
votes
2 answers

When a float variable goes out of the float limits, what happens?

I remarked two things: std::numeric_limits::max()+(a small number) gives: std::numeric_limits::max(). std::numeric_limits::max()+(a large number like: std::numeric_limits::max()/3) gives inf. Why this difference? Does 1…
WildThing
  • 665
  • 2
  • 9
  • 17
19
votes
1 answer

C++: Why does numeric_limits work on types it does not know?

I have created my own type, without any comparator, and without a specialization of std::numeric_limits. Despite that, for some reason, std::numeric_limits compiles fine. Why did the c++ standards committee define the numeric_limits template…
tohava
  • 5,344
  • 1
  • 25
  • 47
18
votes
2 answers

Where are the limits for Qt types?

Regularly, I could reference limits.h to see what the max is for a certain type, like an int or long. In Qt, there are types like qlonglong. Is there a header file and/or documentation that can be used in a similar way to manually or…
Cory Klein
  • 51,188
  • 43
  • 183
  • 243
1
2 3 4 5 6 7 8