0

c++ возвращает близкие,но не точные значения

Я только начинаю писать на cpp и плохо понимаю его устройство, в частности, почему при pow(64e6,1.0/6) возвращает 20,а при int(pow(64e6,1.0/6)) возвращает 19.Также если это возможно как-то исправить,то желательно объясните как. Заранее спасибо https://code.sololearn.com/czqaW5G218ri/?ref=app

29th Dec 2021, 6:41 PM
Absxlut3
Absxlut3 - avatar
1 Answer
+ 3
The value 20 in OK. (2⁶×10⁶)⅙==20 But for the next one I don't know why you used int as a function! I checked google and found only one usage of the keyword int as a function, and it was not used like this. int a = int(); int() is the constructor of class int. It will initialise your variable a to the default value of an integer, i.e. 0. Even if you don't call the constructor explicitly, the default constructor, i.e. int() , is implicitly called to initialise the variable. Otherwise there will be a garbage value in the variable. Also ask your question in English so other may help you
5th Jan 2022, 8:16 PM
Koorosh Nobakhtfar
Koorosh Nobakhtfar - avatar