c(++): sqrt von unsigned long long

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/c-sqrt-von-unsigned-long-long_238193/page_1 - zur Vollversion wechseln!


schizo schrieb am 09.03.2014 um 19:00

Ich möchte von einer unsigned long long Variable die Wurzel ziehen.
Bei der Funktion wurzel=sqrt(zahl) regt sich der Visual Studio 2010 Express Compiler jedoch auf, da sqrt eine Überladene Funktion ist und möchte, dass ich einen Typecast setze (beides sind unsigned long long Variablen). Zur Auswahl stellt er mir jedoch nur long double, float und double, die mich jedoch alle nicht zum Ziel bringen.

Gibts hier einen bekannten Workaround, oder hab ich irgendwo einen Fehler im Code und es sollte auch ohne Typecast funktionieren?
Was ich mitbekommen habe dürfte gcc den Code jedoch kompilieren können :rolleyes:


Ringding schrieb am 09.03.2014 um 22:04

Warum sollte dich long double nicht ans Ziel führen?


schizo schrieb am 10.03.2014 um 11:01

Ich benötige den kompletten Zahlenbereich einer 64Bit Zahl und die Mantisse bei long double beträgt leider nur 15 Stellen.
Da ich nicht weiß, wie sich long double beim Runden verhält und das Verhalten sich zu gcc unterscheiden dürfte kann es sein, dass ich dadurch auf Probleme stoße, welche bei unsigned long long nicht auftreten würden.


Ringding schrieb am 10.03.2014 um 11:31

Zitat von schizo
Ich benötige den kompletten Zahlenbereich einer 64Bit Zahl und die Mantisse bei long double beträgt leider nur 15 Stellen.

Interessant. Wo ist dann der Unterschied zu einem normalen double?


schizo schrieb am 10.03.2014 um 11:34

Zitat von Ringding
Interessant. Wo ist dann der Unterschied zu einem normalen double?

Laut MSDN existiert keiner.


smashIt schrieb am 10.03.2014 um 11:41

die mantisse bei einer long double (mit 80bit) is doch üblicherweise 64 bit
oder steh ich grad voll daneben?

------edith packts grade nicht---------
das ms da wirklich nicht mehr wie double anbietet :bash:




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025