Forumuri

iOS Cum folosești sin, cos și bronz?

M

Domnul Pinguin9

Poster original
1 august 2008
  • 13 mai 2009
Cum folosești sin, cos și bronz în SDK-ul iPhone? Și, de asemenea, cum folosești inversul lor?

Mulțumiri

SilentPanda

Moderator emerit
8 octombrie 2002
Pădurea de bambus


  • 13 mai 2009
Bănuiesc că ai folosi doar versiunile C ale cos, sin și tan. M

Domnul Pinguin9

Poster original
1 august 2008
  • 13 mai 2009
Pot să am un exemplu în acest sens, vă rog.

Mulțumiri

PhoneyDeveloper

2 septembrie 2008
  • 13 mai 2009
Cod: |_+_|
Mai este ceva?

Încercați să introduceți acest lucru în terminal sau căutați-l pe google

om păcat M

Domnul Pinguin9

Poster original
1 august 2008
  • 13 mai 2009
Dar când fac „tan(1)” în xcode, îmi dă înapoi 1556013989!?!? Dar bronzul lui 1 este 0,017455... Ce greșesc?

Mulțumiri R

Ron C

18 iulie 2008
Zona Chicago
  • 13 mai 2009
Miroase ca o problemă de tip

MrPenguin9 a spus: Dar când fac „tan(1)” în xcode, îmi dă înapoi 1556013989!?!? Dar bronzul lui 1 este 0,017455... Ce greșesc?

Mulțumiri

1556013989? S-ar putea să imprime doar o valoare formatată în virgulă mobilă ca un întreg fără conversia tipului?

De unde obțineți această funcție tan()? matematică.h? Ce tip returnează tan(), de exemplu? Este nevoie de radiani sau grade? În ce tip stocați valoarea returnată?

Am verificat pagina de manual pentru tan() și spune:
Cod: |_+_| Deci.... singura funcție care se potrivește cu semnătura respectivă ia un dublu (conversie automată) și returnează un dublu (de asemenea, conversie automată) și ia radiani.

Cum vedeți valoarea? Cum arată codul tău?

EDIT: Tocmai am verificat valoarea tan(1 radian) în Calculator.app - scrie: 1.557408. Deci... de ce crezi că ar trebui să fie 0,017455? Aceasta este valoarea bronzului (1 GRAD) M

Domnul Pinguin9

Poster original
1 august 2008
  • 13 mai 2009
Aici codul meu de la MainView.m Cod: |_+_| (Oh, și nu știam că tan(x) era în radiani.) Vă mulțumesc băieți pentru ajutor! G

Guiyon

19 aprilie 2008
Cambridge, MA
  • 13 mai 2009
MrPenguin9 a spus: -(void)wakeFromNib {
Text.text = [NSString stringWithFormat'%d', tan(1)];
}

Este problema ta, tan returnează un dublu, dar șirul de format %d așteaptă un număr întreg. Schimbarea lui „%d” în „%lf” ar trebui să rezolve asta. Tastarea „man 3 printf” la terminal vă va oferi mai multe informații despre șirurile de format în stil printf pe care le utilizează Apple (și multe alte biblioteci); căutați partea care începe cu „Șirul de format este compus din zero sau mai multe directive” R

Ron C

18 iulie 2008
Zona Chicago
  • 14 mai 2009
O notă rapidă despre conversia automată și ciudățenia în virgulă mobilă...

Guiyon a spus: Este problema ta, tan returnează un dublu, dar șirul de format %d așteaptă un număr întreg. Schimbarea lui „%d” în „%lf” ar trebui să rezolve asta. Tastarea „man 3 printf” la terminal vă va oferi mai multe informații despre șirurile de format în stil printf pe care le utilizează Apple (și multe alte biblioteci); căutați partea care începe cu „Șirul de format este compus din zero sau mai multe directive”

Aceste conversii de tip „magic” nu au loc decât dacă compilatorul știe că ar trebui să existe una. Un caz în care nu va ști este în cod precum stringWithFormat: - nu știe cu adevărat că ar trebui să existe o conversie, așa că trece vesel de-a lungul unui dublu. Odată ce începeți să jucați cu tipuri de virgulă mobilă, trebuie să acordați atenție acestui lucru.

O altă notă scurtă despre tipurile de virgulă mobilă. Nu scrie cod ca: Cod: |_+_| Problema cu tipurile = și virgulă mobilă este că este foarte puțin probabil să fie egale. Chiar și ceva de genul: Cod: |_+_| Pe tabla dvs., aceste numere sunt aceleași. În interiorul computerului, nu trebuie să fie. E ciudat, dar trebuie să te obișnuiești. M

Domnul Pinguin9

Poster original
1 august 2008
  • 15 mai 2009
A mers.

Vă mulțumesc tuturor pentru că m-ați ajutat!