c(++): sqrt von unsigned long long
schizo 09.03.2014 - 19:00 2244 5
schizo
Produkt der Gesellschaft
|
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
|
Ringding
Pilot
|
Warum sollte dich long double nicht ans Ziel führen?
|
schizo
Produkt der Gesellschaft
|
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
Pilot
|
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
Produkt der Gesellschaft
|
Interessant. Wo ist dann der Unterschied zu einem normalen double? Laut MSDN existiert keiner.
|
smashIt
master of disaster
|
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
Bearbeitet von smashIt am 10.03.2014, 11:43
|