Типы данных

Arnare

✩✩✩✩✩✩✩
1 Май 2021
3
0
C++:
long v;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  v=sq(182);
  //v=sqrt(v);
  delay(500);
Serial.println(v);
}
в монитор порта выводится -32412 вместо ожидаемых 33124 подскажите пожалуйста как правильно возвести в квадрат число
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
А если так ?
v=sq((long)182);
все просто. Компилятор считает, что ты передаешь тип int , а не long, вот и считает по другому