, , , , . , 32- int
4 28 .
, 1000. 2 28. , , . ++, ceil()
.
, 10, , .
I saved as much of the source code for the program below as possible.
#include <iostream>
#include <cmath>
int main() {
std::cout << "Enter a number ";
int number;
std::cin >> number;
int digit[] = { -1, -1, -1 };
unsigned int t, dec_digit;
bool have_seen_nonzero;
t = ceil (number / 1e3 * (1 << 28));
for (int pos = 0; pos < 3; pos++) {
t = t * 10;
dec_digit = t >> 28;
t = t & 0x0fffffff;
have_seen_nonzero = dec_digit != 0;
if (have_seen_nonzero) digit[pos] = dec_digit;
}
for (int i = 0; i < 3; i++) {
if (digit[i] != -1) {
std::cout << digit[i] << " ";
}
}
std::cout << "\n";
std::cout << "Press any key to exit... ";
char i;
std::cin >> i;
return 0;
}
source
share