Program zwraca zły wynik - czy to przez przekroczenie zakresu?

0

Czemu ten program podaje zły wynik?

#include <iostream>

using namespace std;
int main()
{
 long long k;
 k=1000000*10000;  
 cout<<k;

   return 0;
}
1
  1. O przepełnieniu słyszałeś?
  2. k=1000000*10000LL;
1

demonstracja:

#include <iostream>
#include <limits>
int main(){
    std::cout << std::numeric_limits<uint64_t>::max() << std::endl; 
    std::cout << 1000000*10000ULL << std::endl;
    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0