я - Чайник. помогите с написанием легкой программки: тема "константы"
1. найти максимальный беззнаковый long
Максимальное значение типа unsigned long задаётся в limits.h символом ULONG_MAX. Для выполнения задания достаточно распечатать значение этого символа.
2. найти максимальную n, в которую можно возвести 2.
* с использованием limits.h и values.h[/color]
Максимальная степень обладает тем свойством, что если возвести в степень, следующую за максимальной, то произойдёт переполнение и получится маленькое число. В примере функция get_max_power основана именно на этом свойстве
#include <limits.h>
#include <iostream>
unsigned long get_max_unsigned_long()
{
return (unsigned long)ULONG_MAX;
}
unsigned long get_max_power()
{
unsigned long var = 1;
unsigned long res = 0;
while ((var << 1) > var)
{
res ++;
var <<= 1;
}
return res;
}
int main()
{
std::cout << "Maximum of unsigned long is " << get_max_unsigned_long() << std::endl;
std::cout << "Maximum power of 2 is " << get_max_power() << std::endl;
return 0;
}