// Geef de eerste 35 machten van 2 (beginnend bij 2^1)

// Getest op 16 oktober 2002          Rudy van Vliet


#include <iostream>
using namespace std;

//*************************************************************************

void WachtEven ()
{ char kar;

  cout << "Voer een karakter in om verder te gaan: ";
  cin >> kar;

}

//*************************************************************************

int main ()
{ int i,
      Product;

  Product = 1;

    // eerst maar 20;
    // als we ze meteen alle 35 geven, lopen de eerste het scherm uit
  for (i=1;i<=20;i++)
  { Product *= 2;
    cout << "2 tot de macht " << i << " = " << Product << endl;
  }

  cout << endl;
  WachtEven ();
  cout << endl;

    // 2^31 is net 1 groter dan MAXINT; het wordt dus omgezet in  -(2^31);

    // als je dat getal (binair: 1 met 31 nullen) met twee
    // vermenigvuldigt, zou het 2^32 (binair: 1 met 32 nullen) worden;
    // alleen de laatste 32 bits (allemaal nullen) worden onthouden,
    // zodat het resultaat 0 is
  for (i=21;i<=35;i++)
  { Product *= 2;
    cout << "2 tot de macht " << i << " = " << Product << endl;
  }

  return 0;

}
