Огромная переменная

krikus
Offline
Зарегистрирован: 22.07.2011

 В какую переменную можно записать число 1000000000000?

Modular
Offline
Зарегистрирован: 05.03.2011

 Arduino поддреживает работу с 64битными целыми с помощью типа недокументированного uint64_t

Вот здесь есть немного о его использовании http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248398261

Погугли по нему. Насколько я понимаю с ним много сложностей - размер сборки подскакивает, видимо компилятор подключает дополнительную библиотеку для этого типа, Serial.print не работает, скорость вычислений падает, если это конечно важно.

Но из примера выше, вот такой код вполне компилируется.

uint64_t testLongNumber, a, b;

void setup()
{
  testLongNumber=9876543210LL;
  a = testLongNumber+testLongNumber;
  b = testLongNumber*testLongNumber;
} 
void loop()
{}

 

Zaliv
Offline
Зарегистрирован: 05.03.2011

Мне кажется надо над задачей подумать. Действительно ли тебе нужно вот такое большое значение в переменной.

krikus
Offline
Зарегистрирован: 22.07.2011

uint64_t - подойдет. Спасибо 

Mogalkov
Offline
Зарегистрирован: 23.06.2011

 Если не секрет, зачем такое число? Подсчет дождевых капель в реальном времени? Измерение плодовитости китайцев с расчетом популяции на 2100 год?

krikus
Offline
Зарегистрирован: 22.07.2011

Для хранения амплитуды сигнала. 

chugun
Offline
Зарегистрирован: 01.07.2011

 Если все данные хранить в элементарных единицах измерения, то ни какой памяти не хватит. К примеру,  1 234 567 вольт = 1,234 мегавольта. Младшие разряды, на практике, часто, большой роли не играют . Сомневаюсь, что в каком либо приложении необходима точность в 1/1000000000000 ...