Доброго времени суток! Для начала немного поработаем над системой неравенств.
Дана система:
произведем несколько манипуляций с числами чтобы выявить абсолютные величины:
опираясь на абсолютные величины мы смело можем сказать что справедливы все "y" и "x" значения которые удовлетворяют двум неравенствам (отсюдого она и система). Можно канечно пошаманить и решить систему до конца указав области значений обоих переменных, но мы этого делать не будем, иначе для чего нам компьютер с потенциально огромной вычислительной мощностью? Правильно! Поэтому мы заставим его решать нашу систему неравенств ;)
программа будет написана на языке C++!
#include <iostream>
// определяем коды, которые покажут нам результат работы функции. #define CODE_INCASE 1 #define CODE_ONLINE 2 #define CODE_OUTRANGE 0 #define CODE_ERROR -1
struct vector2 { int x,y; };
unsigned char check_point(vector2 & point) { if ((point.x < 2*point.y) && (point.y < 5-point.x^2)) //определяем принадлежность { return CODE_INCASE; // является исключительно вложенным и не пересекает границы } else if( ((point.x = 2*point.y) && (point.y <= 5-point.x^2)) || ((point.x <= 2*point.y) && (point.y = 5-point.x^2)) ) { return CODE_ONLINE; // пересекает границы частично или полностью } else { return CODE_OUTRANGE; // не принадлежит } return CODE_ERROR; // код ошибки (в случае взбоя алгоритма определения значений) }
void main() { vector2 point1 = {-8, 12}; //тут мы задаем координату в виде простой линейной структуры. std::cout << "{" << point1.x << "," << point1.y << "}, code " << check_point(point1) << std::endl; //выводим на экран код обработчика.
Для начала немного поработаем над системой неравенств.
Дана система:
произведем несколько манипуляций с числами чтобы выявить абсолютные величины:
опираясь на абсолютные величины мы смело можем сказать что справедливы все "y" и "x" значения которые удовлетворяют двум неравенствам (отсюдого она и система). Можно канечно пошаманить и решить систему до конца указав области значений обоих переменных, но мы этого делать не будем, иначе для чего нам компьютер с потенциально огромной вычислительной мощностью? Правильно! Поэтому мы заставим его решать нашу систему неравенств ;)
программа будет написана на языке C++!
#include <iostream>
// определяем коды, которые покажут нам результат работы функции.
#define CODE_INCASE 1
#define CODE_ONLINE 2
#define CODE_OUTRANGE 0
#define CODE_ERROR -1
struct vector2
{
int x,y;
};
unsigned char check_point(vector2 & point)
{
if ((point.x < 2*point.y) && (point.y < 5-point.x^2)) //определяем принадлежность
{
return CODE_INCASE; // является исключительно вложенным и не пересекает границы
}
else if( ((point.x = 2*point.y) && (point.y <= 5-point.x^2)) || ((point.x <= 2*point.y) && (point.y = 5-point.x^2)) )
{
return CODE_ONLINE; // пересекает границы частично или полностью
}
else
{
return CODE_OUTRANGE; // не принадлежит
}
return CODE_ERROR; // код ошибки (в случае взбоя алгоритма определения значений)
}
void main()
{
vector2 point1 = {-8, 12}; //тут мы задаем координату в виде простой линейной структуры.
std::cout << "{" << point1.x << "," << point1.y << "}, code " << check_point(point1) << std::endl; //выводим на экран код обработчика.
}
Удачи ;)
1. 5.3 МБ = 5.3 * 2^10 КБ = 5.3 * 2^20 Байт = 5557452,8 байт.
2. 7032 бит = 7032 / 8 байт = 879 байт = 879 / 1024 Кбайт ~ 0.9 Мбайт.
3. 1.7 ГБ = 1.7 * 2^10 МБ = 1740,8 МБ = ~1741 МБ
4. 3076 КБ / 1024 = 3,00390625 МБайт = ~ 3Мбайт
5. 1024000 бит = 1024000 / 8 байт = 128000 байт / 1024 КБ = 125 КБ / 1024 = 0.12 МБ / 1024 = ~0.0001 Гб.
При повышение приставки, например, из КБ в МБ, значение следует умножать на 1024(2^10 степени). При понижении, соответственно, делить.
Для того, чтобы перевести из битов в байты, нужно количество бит разделить на 8(2^3).