How to view the maximum values of various types

Source: Internet
Author: User

The problem stems from a colleague's question: How can I check the maximum value of double in the VC compiler? He couldn't find it in limits. h.

 

In limits. H, you can only see the maximum value of an integer, but not the maximum value of a floating point. The maximum value of a floating point number is as follows:

 

# Include <iostream>

# Include <limits>

 

Using namespace STD;

 

// compile with: /EHsc

 

 

Int main (){

 

Cout <numeric_limits <double>: max () <Endl;

 

}

 

The running platform is vs2008. If a max compilation conflict occurs, you can add # UNDEF Max.

 

The template class numeric_limits declaration is:

Template <typename T>

Numeric_limits <t>

 

// Variables and member functions /// has_denorm // others // has_infinity // others // has_signaling_nan // is_bounded // is_exact // is_iec559 // is_integer/is_modulo // is_signed // is_specialized // returns // traps // round_style // digits // digits10 // max_exponent // max_exponent10 // min_exponent // min_exponent10 // Radix; // denorm_min () // Epsilon () // infinity () // max () // min () // quiet _ Nan () // round_error () // signaling_nan () //////////////////////////////////////// //////////////////////////////
Instance code:
#include <iostream>#include <limits>using namespace std;int main() {    cout << " 1 The minimum value for char is " <<        (int)numeric_limits<char>::min() << endl;    cout << " 2 The minimum value for int is  " <<        numeric_limits<int>::min() << endl;    cout << " 3 The maximum value for char is " <<        (int)numeric_limits<char>::max() << endl;    cout << " 4 The maximum value for int is  " <<        numeric_limits<int>::max() << endl;    cout << " 5 The number of bits to represent a char is " <<        numeric_limits<char>::digits << endl;    cout << " 6 The number of bits to represent an int is " <<        numeric_limits<int>::digits << endl;    cout <<" 7 The number of digits representable in base 10 for float is "         << numeric_limits<float>::digits10 << endl;    cout << " 8 Is a char signed?              " <<        numeric_limits<char>::is_signed << endl;    cout << " 9 Is an unsigned integer signed? " <<        numeric_limits<unsigned int>::is_signed << endl;    cout << "10 Is an integer an integer? " <<        numeric_limits<int>::is_integer << endl;    cout << "11 Is a float an integer?   " <<        numeric_limits<float>::is_integer << endl;    cout << "12 Is an integer exact? " <<        numeric_limits<int>::is_exact << endl;    cout << "13 Is a float exact?  " <<        numeric_limits<float>::is_exact << endl;    cout << "14 The radix for float is            "  <<        numeric_limits<float>::radix << endl;    cout << "15 The epsilon for float is          " <<        numeric_limits<float>::epsilon() << endl;    cout << "16 The round error for float is      " <<        numeric_limits<float>::round_error() << endl;    cout << "17 The minimum exponent for float is " <<        numeric_limits<float>::min_exponent << endl;    cout << "18 The minimum exponent in base 10   " <<        numeric_limits<float>::min_exponent10 << endl;    cout << "19 The maximum exponent is           " <<        numeric_limits<float>::max_exponent << endl;    cout << "20 The maximum exponent in base 10   " <<        numeric_limits<float>::max_exponent10 << endl;    cout << "21 Can float represent positive infinity?  " <<        numeric_limits<float>::has_infinity << endl;    cout << "22 Can double represent positive infinity? " <<        numeric_limits<double>::has_infinity << endl;    cout << "23 Can int represent positive infinity? " <<        numeric_limits<int>::has_infinity << endl;    cout << "24 Can float represent a NaN?           " <<        numeric_limits<float>::has_quiet_NaN << endl;    cout << "25 Can float represent a signaling NaN? " <<        numeric_limits<float>::has_signaling_NaN << endl;    cout << "26 Does float allow denormalized values?   " <<        numeric_limits<float>::has_denorm << endl;    cout << "27 Does float detect denormalization loss? " <<        numeric_limits<float>::has_denorm_loss << endl;    cout << "28 Representation of positive infinity for float " <<        numeric_limits<float>::infinity() << endl;    cout << "29 Representation of quiet NaN for float         " <<        numeric_limits<float>::quiet_NaN() << endl;    cout << "30 Minimum denormalized number for float         " <<        numeric_limits<float>::denorm_min() << endl;    cout << "31 Minimum positive denormalized value for float " <<        numeric_limits<float>::denorm_min() << endl;    cout << "32 Does float adhere to IEC 559 standard?  " <<        numeric_limits<float>::is_iec559 << endl;    cout << "33 Is float bounded? " <<        numeric_limits<float>::is_bounded << endl;    cout << "34 Is float modulo?  " <<        numeric_limits<float>::is_modulo << endl;    cout << "35 Is int modulo?    " <<        numeric_limits<float>::is_modulo << endl;    cout << "36 Is trapping implemented for float?    " <<        numeric_limits<float>::traps << endl;    cout << "37 Is tinyness detected before rounding? " <<        numeric_limits<float>::tinyness_before << endl;    cout << "38 What is the rounding style for float? " <<        (int)numeric_limits<float>::round_style << endl;    cout << "39 What is the rounding style for int? " <<        (int)numeric_limits<int>::round_style << endl;    cout << "40 How does a float represent a signaling NaN? " <<        numeric_limits<float>::signaling_NaN() << endl;    cout << "41 Is int specialized? " <<        numeric_limits<float>::is_specialized << endl;}

 

Run the relevant code to view the result.

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.