Forum

iOS Bagaimana cara menggunakan sin, cos, dan tan?

M

MrPenguin9

poster asli
1 Agustus 2008
  • 13 Mei 2009
Bagaimana Anda menggunakan sin, cos, dan tan di iPhone sdk? Dan juga bagaimana Anda menggunakan kebalikannya?

Terima kasih

diamPanda

Emeritus moderator
8 Oktober 2002
Hutan Bambu


  • 13 Mei 2009
Saya kira Anda hanya akan menggunakan versi C dari cos, sin, dan tan. M

MrPenguin9

poster asli
1 Agustus 2008
  • 13 Mei 2009
Boleh saya minta contohnya.

Terima kasih

Pengembang Telepon

2 September 2008
  • 13 Mei 2009
Kode: |_+_|
Apakah ada sesuatu yang lebih?

Coba ketik ini di terminal atau google it

manusia berdosa M

MrPenguin9

poster asli
1 Agustus 2008
  • 13 Mei 2009
Tetapi ketika saya melakukan 'tan(1)' di xcode itu memberi saya kembali 1556013989!?!? Tapi tan dari 1 adalah 0,017455... Apa yang saya lakukan salah?

Terima kasih R

Ron C

18 Juli 2008
Chicago-area
  • 13 Mei 2009
Baunya seperti masalah tipe

MrPenguin9 berkata: Tetapi ketika saya melakukan 'tan(1)' di xcode itu memberi saya kembali 1556013989!?!? Tapi tan dari 1 adalah 0,017455... Apa yang saya lakukan salah?

Terima kasih

1556013989? Mungkin hanya mencetak nilai yang diformat titik-mengambang sebagai bilangan bulat tanpa konversi tipe?

Dari mana Anda mendapatkan fungsi tan() ini? matematika.h? Jenis apa yang tan(), misalnya, kembalikan? Apakah itu mengambil radian atau derajat? Jenis apa yang Anda simpan nilai pengembaliannya?

Saya memeriksa halaman manual untuk tan() dan dikatakan:
Kode: |_+_| Jadi .... satu-satunya fungsi yang cocok dengan tanda tangan itu mengambil ganda (konversi otomatis) dan mengembalikan ganda (juga konversi otomatis) dan mengambil radian.

Bagaimana Anda melihat nilainya? Seperti apa tampilan kode Anda?

EDIT: Saya baru saja memeriksa nilai tan(1 radian) di Calculator.app - tertulis: 1.557408. Jadi... menurut Anda mengapa harus 0,017455? Itulah nilai tan(1 DERAJAT) M

MrPenguin9

poster asli
1 Agustus 2008
  • 13 Mei 2009
Ini kode saya dari MainView.m Code: |_+_| (Oh, dan saya tidak tahu bahwa tan(x) dalam radian.) Terima kasih telah membantu! G

Guiyon

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

Ada masalah Anda, tan mengembalikan ganda tetapi string format %d mengharapkan bilangan bulat. Mengubah '%d' menjadi '%lf' akan memperbaikinya. Mengetik 'man 3 printf' di terminal akan memberi Anda lebih banyak informasi tentang string format gaya printf yang digunakan Apple (dan banyak perpustakaan lain); cari bagian yang dimulai dengan 'Format string terdiri dari nol atau lebih arahan' R

Ron C

18 Juli 2008
Chicago-area
  • 14 Mei 2009
Catatan singkat tentang konversi otomatis dan keanehan floating-point...

Guiyon berkata: Ada masalah Anda, tan mengembalikan ganda tetapi string format %d mengharapkan bilangan bulat. Mengubah '%d' menjadi '%lf' akan memperbaikinya. Mengetik 'man 3 printf' di terminal akan memberi Anda lebih banyak informasi tentang string format gaya printf yang digunakan Apple (dan banyak perpustakaan lain); cari bagian yang dimulai dengan 'Format string terdiri dari nol atau lebih arahan'

Konversi tipe 'ajaib' ini tidak terjadi kecuali kompiler mengetahui bahwa seharusnya ada. Satu kasus di mana ia tidak akan tahu adalah dalam kode seperti stringWithFormat: - ia tidak benar-benar tahu bahwa harus ada konversi, jadi ia dengan senang hati meneruskan ganda. Setelah Anda mulai bermain dengan tipe floating-point, Anda perlu memperhatikannya.

Catatan singkat lainnya tentang tipe floating-point. Jangan menulis kode seperti: Kode: |_+_| Masalah dengan = dan tipe floating point adalah bahwa mereka sangat tidak mungkin sama. Bahkan sesuatu seperti: Kode: |_+_| Di papan tulis Anda, angka-angka ini sama. Di dalam komputer, mereka tidak harus begitu. Aneh memang, tapi kamu harus membiasakannya. M

MrPenguin9

poster asli
1 Agustus 2008
  • 15 Mei 2009
Itu berhasil.

Terima kasih semua untuk membantu saya!