#include <iostream>
using namespace std;
void main(void)
{
const int MaxA = 7;
const int MaxB = 5;
int stepnum = 1;
int a=0, b=0, tmp=0;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
a = MaxA;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
tmp = b;
b = ((b+a)&(-1 + ((b+a)>=MaxB)))+((b+a)>=MaxB)*MaxB;
a = a - (b-tmp);
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
b = 0;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
tmp = b;
b = ((b+a)&(-1 + ((b+a)>=MaxB)))+((b+a)>=MaxB)*MaxB;
a = a - (b-tmp);
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
a = MaxA;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
tmp = b;
b = ((b+a)&(-1 + ((b+a)>=MaxB)))+((b+a)>=MaxB)*MaxB;
a = a - (b-tmp);
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
b = 0;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
tmp = b;
b = ((b+a)&(-1 + ((b+a)>=MaxB)))+((b+a)>=MaxB)*MaxB;
a = a - (b-tmp);
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
a = MaxA;
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
tmp = b;
b = ((b+a)&(-1 + ((b+a)>=MaxB)))+((b+a)>=MaxB)*MaxB;
a = a - (b-tmp);
cout << "step #" << stepnum++ << " a = " << a << ", b = " << b << endl;
}
|