Fórumok

iOS Hogyan használja a sin, cos és tan?

M

Pingvin úr9

Eredeti plakát
2008. augusztus 1
  • 2009. május 13
Hogyan használja a sin, cos és tan használatát az iPhone sdk-ben? És hogyan használja ezek fordítottját?

Kösz

SilentPanda

Moderátor emeritus
2002. október 8
A Bambusz Erdő


  • 2009. május 13
Gondolom, csak a cos, sin és tan C változatát használnád. M

Pingvin úr9

Eredeti plakát
2008. augusztus 1
  • 2009. május 13
Kérhetnék egy példát erre.

Kösz

PhoneyDeveloper

2008. szeptember 2
  • 2009. május 13
Kód: |_+_|
Van még valami?

Próbáld meg beírni a terminálba, vagy keresd meg a google-ban

ember bűn M

Pingvin úr9

Eredeti plakát
2008. augusztus 1
  • 2009. május 13
De amikor az xcode-ban beírom a 'tan(1)'-et, visszaadja a 1556013989-et!?!? De az 1-es barnaság 0,017455... Mit csinálok rosszul?

Kösz R

Ron C

2008. július 18
Chicago-körzet
  • 2009. május 13
Típusproblémának tűnik

MrPenguin9 azt mondta: De amikor 'tan(1)'-t csinálok az xcode-ban, akkor visszaadja a 1556013989-et!?!? De az 1-es barnaság 0,017455... Mit csinálok rosszul?

Kösz

1556013989? Lehet, hogy csak egy lebegőpontos formátumú értéket nyomtat egész számként, típuskonverzió nélkül?

Honnan szeded ezt a tan() függvényt? math.h? Milyen típust ad vissza például a tan()? Radán vagy fok kell? Milyen típusba tárolod a visszatérési értéket?

Megnéztem a tan() man oldalt, és ezt írja:
Kód: |_+_| Tehát... az egyetlen függvény, amely megfelel ennek az aláírásnak, dupla (automatikus konverzió) és dupla (automatikus konverzió) értéket ad vissza, és radiánt vesz fel.

Hogyan látja az értéket? Hogy néz ki a kódod?

SZERKESZTÉS: Most ellenőriztem a tan(1 radián) értékét a Calculator.app-ban - azt írja ki: 1.557408. Szóval... szerinted miért kellene 0,017455-nek lennie? Ez a barnaság értéke (1 FOK) M

Pingvin úr9

Eredeti plakát
2008. augusztus 1
  • 2009. május 13
Itt van a MainView.m kódom: |_+_| (Ja, és nem tudtam, hogy a tan(x) radiánban van megadva.) Köszönöm srácok a segítséget! G

Guiyon

2008. április 19
Cambridge, MA
  • 2009. május 13
MrPingvin9 mondta: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}

Az a probléma, hogy a tan duplát ad vissza, de a %d formátumú karakterlánc egész számot vár. A '%d' értékének '%lf'-re való módosítása megoldja a problémát. A „man 3 printf” beírása a terminálba sokkal több információt kap az Apple (és sok más könyvtár) által használt printf-stílusú formátum karakterláncokról; keresse meg azt a részt, amely a következővel kezdődik: 'A formátum karakterlánc nulla vagy több direktívából áll' R

Ron C

2008. július 18
Chicago-körzet
  • 2009. május 14
Egy gyors megjegyzés az automatikus konvertálásról és a lebegőpontos furcsaságokról...

Guiyon azt mondta: Ez a probléma, a tan duplát ad vissza, de a %d formátumú karakterlánc egész számot vár. A '%d' értékének '%lf'-re való módosítása megoldja a problémát. A „man 3 printf” beírása a terminálba sokkal több információt kap az Apple (és sok más könyvtár) által használt printf-stílusú formátum karakterláncokról; keresse meg azt a részt, amely a következővel kezdődik: 'A formátum karakterlánc nulla vagy több direktívából áll'

Ezek a 'mágikus' típusú konverziók csak akkor fordulnak elő, ha a fordító tudja, hogy ilyennek lennie kell. Az egyik eset, amikor nem fogja tudni, az olyan kódban van, mint a stringWithFormat: - nem igazán tudja, hogy konverziónak kell lennie, így vidáman halad végig egy duplán. Ha elkezdesz játszani a lebegőpontos típusokkal, akkor erre figyelned kell.

Egy másik rövid megjegyzés a lebegőpontos típusokról. Ne írjon ilyen kódot: Kód: |_+_| A probléma az = és a lebegőpontos típusokkal az, hogy nagyon valószínűtlen, hogy egyenlőek. Még valami ilyesmi: Kód: |_+_| A táblán ezek a számok megegyeznek. A számítógépen belül nem kell lenniük. Furcsa, de meg kell szokni. M

Pingvin úr9

Eredeti plakát
2008. augusztus 1
  • 2009. május 15
Működött.

Köszönöm mindenkinek a segítséget!