Foorumid

iOS Kuidas kasutada sin, cos ja tan?

M

härra pingviin 9

Originaalplakat
1. august 2008
  • 13. mai 2009
Kuidas kasutada sin, cos ja tan iPhone sdk-s? Ja ka kuidas te kasutate nende pöördväärtust?

Aitäh

SilentPanda

Moderaator emeriit
8. oktoober 2002
Bambuse mets


  • 13. mai 2009
Ma arvan, et kasutaksite lihtsalt cos, sin ja tan C-versioone. M

härra pingviin 9

Originaalplakat
1. august 2008
  • 13. mai 2009
Kas ma saaksin selle näite tuua.

Aitäh

PhoneyDeveloper

2. september 2008
  • 13. mai 2009
Kood: |_+_|
Kas on veel midagi?

Proovige see terminali tippida või googeldada

mees patt M

härra pingviin 9

Originaalplakat
1. august 2008
  • 13. mai 2009
Aga kui ma teen xcode'is 'tan(1)', annab see mulle tagasi numbri 1556013989!?!? Aga päevitus 1 on 0,017455... Mida ma valesti teen?

Aitäh R

Ron C

18. juuli 2008
Chicago piirkond
  • 13. mai 2009
Lõhnab tüübiprobleemi järgi

MrPenguin9 ütles: Aga kui ma teen xcode'is 'tan(1)', annab see mulle tagasi numbri 1556013989!?!? Aga päevitus 1 on 0,017455... Mida ma valesti teen?

Aitäh

1556013989? Võib-olla trükib see lihtsalt ujukomavormingus väärtuse täisarvuna ilma tüübikonversioonita?

Kust sa selle tan() funktsiooni võtad? matemaatika.h? Mis tüüpi näiteks tan() tagastab? Kas selleks on vaja radiaane või kraadi? Millisesse tüüpi tagastamisväärtust salvestate?

Kontrollisin man-lehte tan() jaoks ja see ütleb:
Kood: |_+_| Niisiis... ainus funktsioon, mis sellele signatuurile vastab, võtab topelt (automaatne teisendus) ja tagastab kahekordse (samuti automaatse teisenduse) ja võtab radiaane.

Kuidas te väärtust näete? Kuidas teie kood välja näeb?

EDIT: Kontrollisin just tan(1 radiaan) väärtust rakenduses Calculator.app – seal on kirjas: 1.557408. Niisiis... miks sa arvad, et see peaks olema 0,017455? See on tan väärtus (1 DEGREE) M

härra pingviin 9

Originaalplakat
1. august 2008
  • 13. mai 2009
Siin on minu kood MainView.m-st. Kood: |_+_| (Oh, ja ma ei teadnud, et tan(x) on radiaanides.) Tänan teid abi eest! G

Guiyon

19. aprill 2008
Cambridge, MA
  • 13. mai 2009
MrPenguin9 ütles: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}

Siin on teie probleem, tan tagastab kahekordse, kuid vormingu string %d eeldab täisarvu. '%d' muutmine väärtuseks '%lf' peaks selle parandama. Kui sisestate terminali 'man 3 printf', saate palju rohkem teavet printf-stiilis vormingu stringide kohta, mida Apple (ja paljud teised teegid) kasutavad; otsige osa, mis algab sõnadega 'Vormingu string koosneb nullist või enamast direktiivist' R

Ron C

18. juuli 2008
Chicago piirkond
  • 14. mai 2009
Kiire märkus automaatse teisendamise ja ujukoma veidruste kohta...

Guiyon ütles: Probleem on selles, tan tagastab kahekordse, kuid vormingu string %d eeldab täisarvu. '%d' muutmine väärtuseks '%lf' peaks selle parandama. Kui sisestate terminali 'man 3 printf', saate palju rohkem teavet printf-stiilis vormingu stringide kohta, mida Apple (ja paljud teised teegid) kasutavad; otsige osa, mis algab sõnadega 'Vormingu string koosneb nullist või enamast direktiivist'

Neid 'maagilisi' teisendusi ei toimu, kui kompilaator ei tea, et see peaks olema. Üks juhtum, kus ta ei tea, on koodis nagu stringWithFormat: - see ei tea tegelikult, et konversioon peaks toimuma, nii et see läheb rõõmsalt mööda topelt. Kui hakkate ujukomatüüpidega mängima, peate sellele tähelepanu pöörama.

Veel üks lühike märkus ujukoma tüüpide kohta. Ärge kirjutage koodi nagu: Kood: |_+_| = ja ujukomatüüpide probleem seisneb selles, et need ei ole tõenäoliselt võrdsed. Isegi midagi sellist: Kood: |_+_| Teie tahvlil on need numbrid samad. Arvuti sees ei pea nad olema. See on imelik, aga sellega tuleb harjuda. M

härra pingviin 9

Originaalplakat
1. august 2008
  • 15. mai 2009
See toimis.

Tänan teid kõiki mind aitamast!