Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float a = 1;
- float b = 0.5;
- int bits = 0;
- while (a + b != a) {
- bits = bits + 1;
- b = b / 2;
- }
- #include <stdio.h>
- #include <float.h>
- int main(void) {
- float a = 1;
- float b = 0.5;
- float c = a + b;
- int bits = 1;
- while (c != a) {
- bits = bits + 1;
- b = b / 2;
- c = a + b;
- }
- printf("%dn",FLT_MANT_DIG);
- printf("%dn",bits);
- return 0;
- #include <iostream>
- #include <limits>
- #include <typeinfo>
- template <typename T>
- void printDetailsFor() {
- std::cout
- << "Printing details for " << typeid(T).name() << ":n"
- << "tradix: " << std::numeric_limits<T>::radix << "n"
- << "tradix digits: " << std::numeric_limits<T>::digits << "n"
- << "tepsilon: " << std::numeric_limits<T>::epsilon() << "n"
- << std::endl;
- }
- int main() {
- printDetailsFor<int>();
- printDetailsFor<float>();
- printDetailsFor<double>();
- printDetailsFor<long double>();
- return 0;
- }
- Printing details for i:
- radix: 2
- radix digits: 31
- epsilon: 0
- Printing details for f:
- radix: 2
- radix digits: 24
- epsilon: 1.19209e-07
- Printing details for d:
- radix: 2
- radix digits: 53
- epsilon: 2.22045e-16
- Printing details for e:
- radix: 2
- radix digits: 64
- epsilon: 1.0842e-19
Add Comment
Please, Sign In to add comment