kita dapat menggunakan bit shifting utk perkalian antar integer (variable & konstanta) misal kita punya variabel int i = 13; lalu ingin kita kalikan dgn 10, maka dpt dilakukan seperti ini int j = (i << 3) + (i << 1); (sama dengan j = i * 8 + i * 2) perkalian membutuhkan waktu yg lebih lama karena melibatkan fpu (kalo nggak salah) sedangkan operasi penjumlahan dan bit shifting lebih cepat utk lebih jelasnya bisa dilihat di
http://www.cprogramming.com/tips/showTip.php?tip=66&count=30&page=1 --- Rendy Anthony <[EMAIL PROTECTED]> wrote: > Bit operation secara singkat adalah mathematical > operation yg berkaitan > dengan bit. Tentu dari pelajaran sekolah dulu anda > masih ingat operasi > not (negation), and, or dan xor. Bit operation dalam > C itu bekerja > mengikuti aturan itu: > > contoh mudahnya: > (decimal) 5 and 3 = > 101 (5) > 011 (3) > ======= and > 001 (1) > > (decimal) 5 or 3 = > 101 (5) > 011 (3) > ====== or > 111 (7) > > Yang lebih kompleks: > > 1010 0101 (165) > 0100 0001 (65) > ============== or > 1110 0101 (229) > > Jadi kalau diliat-lihat bit operation hanya > melakukan operasi bit untuk > masing2 bit. Bit pertama dibandingkan dengan bit > pertama, kedua dengan > kedua. > > Ini biasanya dipakai di C untuk ngeset sesuatu. Jadi > daripada ada > setumpuk variable yg masing mengatur on/off. Lebih > baik ada 1 byte yg > dapat mengatur 8 variable on/off. Cara cek, set ato > unset-nya lewat bit > operation: > > Misal: > bit-ke 7 6 5 4 3 2 1 0 > Fungsi A B C D E F G H > > byte mySettings = 0; > > // Activate A > mySettings = mySettings | 128; // 128 = 1000 0000 > > // Activate F > mySettings = mySettings | 4; // 1 = 0000 0100 > > // saat ini mySettings = 132 (1000 0100) > > // Cek apakah A aktif (on) > if (mySettings & 128) // 1000 0100 and 1000 0000 = > 1000 0000 > 0, true > ... > > // unset A > mySettings = mySettings xor 128; // 1000 0100 xor > 1000 0000 = 0000 0100 > > Sorry yg terakhir itu lupa XOR di C apaan. Tp kira2 > begitulah contoh > kerjanya. Jadi bisa menghemat memory (daripada pake > 8 byte cmn utk 8 > settings, bisa pake 1 byte utk 8 settings). > > Jadi kira2 gambaran kasarnya gitu deh. Semoga > membantu. > > Rendy Anthony > > On Tue, 2005-11-15 at 20:43 +0800, Arman Idris > wrote: > > Saya selalu liat di hampir semua tutorial c selalu > ada bit operation, > > apa maksud dan fungsi bit operation, kapan > dipakenya (bingung aja > > selalu ada, tapi sample selalu samar). > > > -- > Berhenti langganan: > [EMAIL PROTECTED] > Arsip dan info: http://linux.or.id/milis > > __________________________________ Yahoo! FareChase: Search multiple travel sites in one click. http://farechase.yahoo.com -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis