mortizz Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 Hm. Jeg sliter litt med sin() funksjonen. Den gir liksom feil resultat. #include <cstdlib> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]) { float x; while (x) { cout << "sin "; x = false; cin >> x; x = sin(x); cout << " = " << x << "\n\n"; } return EXIT_SUCCESS; } Resultater jeg får er f.eks: sin(90) = 0.893997sin(60) = -0.304811 sin(90) skal jo bli 1! Mulig det er jeg som bruker funksjonen feil. Vet ikke jeg.. Lenke til kommentar
bobafett Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 Du får sin(90) = 0.893997 fordi sin() returnerer verdien i radianer. Lenge siden jeg har holdt på med c++, men det er mulig det er en egen funk. for å få sinus i grader. På gamle kompilatorer kunne man bruke cosd() for å få utregning i grader, mulig det er noe som heter sind(). Vet ikke om dette går på nye kompilatorer. Evt. regne om. sin(x*pi/180) Lenke til kommentar
mortizz Skrevet 21. januar 2005 Forfatter Del Skrevet 21. januar 2005 (endret) Okey! Takk! Edit: Et kjapt spørsmål til med det samme jeg spør. Hva er funksjonen for kvadratrot? Endret 21. januar 2005 av mortizz Lenke til kommentar
JBlack Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 SQRT(3) Linux Programmer's Manual SQRT(3) NAME sqrt, sqrtf, sqrtl - square root function SYNOPSIS #include <math.h> double sqrt(double x); float sqrtf(float x); long double sqrtl(long double x); Link with -lm. DESCRIPTION The sqrt() function returns the non-negative square root of x. It fails and sets errno to EDOM, if x is negative. ERRORS EDOM x is negative. CONFORMING TO SVID 3, POSIX, BSD 4.3, ISO 9899. The float and the long double variants are C99 require- ments. SEE ALSO hypot(3) Lenke til kommentar
☀ ❄ Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 RTFM STFW For fremtidig referanse... Lenke til kommentar
mortizz Skrevet 21. januar 2005 Forfatter Del Skrevet 21. januar 2005 Jeg så i manualen, men jeg viste vel ikke hva en radiant er for noe. Tippet funksjonen skulle funke som på kalkulatoren. Lenke til kommentar
☀ ❄ Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 En av mine favoritt-fortunes: "Assumption is the mother of all major screw-ups." Jeg refererte forresten til spørsmålet om sqrt(). Og jeg "flamer" ikke, jeg informerer om gode referansesider. Dersom du lurte. Lenke til kommentar
mortizz Skrevet 21. januar 2005 Forfatter Del Skrevet 21. januar 2005 Hehe, sqrt() funksjonen gadd jeg ikke sjekke opp før jeg spurte. Nyttige linker. Lenke til kommentar
GeirGrusom Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Forresten, vet noen om sin() og sånn bruker __asm fsin, eller om den er skrevet manuelt? for i spillet mitt bruker jeg float sin(float value) { __asm { fld value fsin } } og min idé er at det er endel raskere, men det er jo mulig jeg tar feil... Lenke til kommentar
A_N_K Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 (endret) Skulle tro at C-biblioteket optimerte for maskinarkitekturen, Intel supplerer vel sitt eget x86-optimerte C-runtime med ICC dog. Du kan jo greppe etter fsin i glibc f.eks :_) Endret 26. januar 2005 av A_N_K Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå