Mga Forum

iOS Paano mo ginagamit ang sin, cos, at tan?

M

MrPenguin9

Orihinal na poster
Agosto 1, 2008
  • Mayo 13, 2009
Paano mo ginagamit ang sin, cos, at tan sa iPhone sdk? At paano mo rin ginagamit ang kabaligtaran ng mga ito?

Salamat

SilentPanda

Moderator emeritus
Oktubre 8, 2002
Ang Bamboo Forest


  • Mayo 13, 2009
Sa palagay ko gagamitin mo lang ang mga C na bersyon ng cos, sin, at tan. M

MrPenguin9

Orihinal na poster
Agosto 1, 2008
  • Mayo 13, 2009
Maaari ba akong magkaroon ng isang halimbawa nito mangyaring.

Salamat

PhoneyDeveloper

Setyembre 2, 2008
  • Mayo 13, 2009
Code: |_+_|
May iba pa ba?

Subukang i-type ito sa terminal o i-google ito

kasalanan ng tao M

MrPenguin9

Orihinal na poster
Agosto 1, 2008
  • Mayo 13, 2009
Ngunit kapag ginawa ko ang 'tan(1)' sa xcode ibinabalik nito sa akin ang 1556013989!?!? Ngunit ang tan ng 1 ay 0.017455... Ano ang mali ko?

Salamat R

Ron C

Hul 18, 2008
Chicago-lugar
  • Mayo 13, 2009
Amoy isang uri ng isyu

Sinabi ni MrPenguin9: Ngunit kapag ginawa ko ang 'tan(1)' sa xcode ibinabalik nito sa akin ang 1556013989!?!? Ngunit ang tan ng 1 ay 0.017455... Ano ang mali ko?

Salamat

1556013989? Maaaring nagpi-print lang ito ng floating-point-formatted value bilang isang integer na walang uri ng conversion?

Saan mo nakukuha itong tan() function? math.h? Anong uri ang ibinabalik ng tan(), halimbawa? Ito ba ay tumatagal ng radians o degrees? Sa anong uri ka nag-iimbak ng return value?

Sinuri ko ang man page para sa tan() at sinasabi nito:
Code: |_+_| Kaya.... ang tanging function na tumutugma sa signature na iyon ay tumatagal ng doble (awtomatikong conversion) at nagbabalik ng doble (at awtomatikong conversion) at kumukuha ng mga radian.

Paano mo tinitingnan ang halaga? Ano ang hitsura ng iyong code?

EDIT: Sinuri ko lang ang halaga ng tan(1 radian) sa Calculator.app - sabi nito: 1.557408. Kaya... bakit sa tingin mo ito ay dapat na 0.017455? Iyan ang halaga ng tan(1 DEGREE) M

MrPenguin9

Orihinal na poster
Agosto 1, 2008
  • Mayo 13, 2009
Narito ang aking code mula sa MainView.m Code: |__+_| (Oh, at hindi ko alam na ang tan(x) ay nasa radians.) Salamat guys sa pagtulong! G

Guiyon

Abr 19, 2008
Cambridge, MA
  • Mayo 13, 2009
Sinabi ni MrPenguin9: -(void)awakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}

Nariyan ang iyong problema, nagbabalik si tan ng doble ngunit ang %d format string ay umaasa ng isang integer. Ang pagpapalit ng '%d' sa '%lf' ay dapat ayusin iyon. Ang pag-type ng 'man 3 printf' sa terminal ay magbibigay sa iyo ng mas maraming impormasyon tungkol sa printf-style format strings na ginagamit ng Apple (at marami pang ibang library); hanapin ang bahaging nagsisimula sa 'Ang format na string ay binubuo ng zero o higit pang mga direktiba' R

Ron C

Hul 18, 2008
Chicago-lugar
  • Mayo 14, 2009
Isang mabilis na tala tungkol sa awtomatikong conversion at floating-point weirdness...

Sinabi ni Guiyon: Nariyan ang iyong problema, nagbabalik ang tan ng doble ngunit ang %d format string ay umaasa ng isang integer. Ang pagpapalit ng '%d' sa '%lf' ay dapat ayusin iyon. Ang pag-type ng 'man 3 printf' sa terminal ay magbibigay sa iyo ng mas maraming impormasyon tungkol sa printf-style format strings na ginagamit ng Apple (at marami pang ibang library); hanapin ang bahaging nagsisimula sa 'Ang format na string ay binubuo ng zero o higit pang mga direktiba'

Ang mga 'magic' type na conversion na ito ay hindi nangyayari maliban kung alam ng compiler na dapat mayroong isa. Isang kaso kung saan hindi nito malalaman ay nasa code tulad ng stringWithFormat: - hindi talaga nito alam na dapat magkaroon ng conversion, kaya masaya itong dumadaan sa doble. Kapag nagsimula kang maglaro ng mga floating-point na uri, kailangan mong bigyang pansin iyon.

Isa pang maikling tala tungkol sa mga uri ng floating-point. Huwag magsulat ng code tulad ng: Code: |_+_| Ang problema sa = at mga floating point na uri ay ang mga ito ay napaka-malamang na hindi pantay. Kahit na tulad ng: Code: |__+_| Sa iyong whiteboard, pareho ang mga numerong ito. Sa loob ng computer, hindi nila kailangang maging. Ito ay kakaiba, ngunit kailangan mong masanay. M

MrPenguin9

Orihinal na poster
Agosto 1, 2008
  • Mayo 15, 2009
Gumana ito.

Salamat sa lahat ng tumulong sa akin!