Friday 14 December 2012

3.4 Logical Operations

Apakah itu Logical Operations?
Arithmetic dan logical operations dilakukan dalam CPU oleh Arithmetic/Logical Unit (ALU). Logical instructions merupakan manipulasi bit berorientasikan data berdasarkan operasi logical operations AND, OR dan NOT.

Instructions untuk manipulasi bitwise :
Operation
C
Java
MIPS
Shift left
<< 
<< 
sll
Shift right
>> 
>>> 
srl
Bitwise AND
&
&
and, andi
Bitwise OR
|
|
or , ori
Bitwise NOT
~
~
nor



Shift Operations

Shift Operations membenarkan bit dipindahkan ke kiri atau kanan.

3 jenis Shift Operations:
• Logical
• Rotate
• Arithmetic.


Logical

Logical shift bergerak bit ke kiri atau kanan. Bit yang 'jatuh' akhir perkataan dibuang dan perkataan dipenuhi dengan 0's dari akhir bertentangan. 8 bit binari nombor 1000 1011 punya Logical right shift memberikan 0100 0101.





Rotate

Rotate operation adalah satu anjakan pekeliling di mana tiada bit dibuang. Rotate right nombor binari 8 bit 1000 1011 memberikan 1100 0101.





Arithmetic

Arithmetic right shift lebih kurang sama dengan logical right shift, kecuali bahawa bit terkiri dipenuhi dengan tanda bilangan asal, bukannya 0's.

8 bit nombor 1000 1011 punya Arithmetic right shift memberikan 1100 0101.





AND Operations

Bitwise AND mengambil dua perwakilan yang mempunyai panjang yang sama dan melakukan logical AND operation pada setiap pasangan bit yang sepadan. Hasil di setiap posisi adalah 1 jika bit pertama adalah 1 dan bit kedua adalah 1; yang lain, hasilnya adalah 0. Secara umumnya, hasil 1 akan ditunjukkan hanya masa kedua-dua bits menunjukkan 1.

Contoh:

           1010
AND 1100
  = 1000


OR Operations

Bitwise OR mengambil dua corak bit panjang yang sama dan melaksanakan logical inclusive OR operation pada setiap pasangan bit yang sepadan. Hasil pada setiap kedudukan adalah 1 jika bit pertama adalah 1 atau bit kedua adalah 1 atau kedua-dua bit 1; yang lain, hasilnya adalah 0.

Contoh:

        1001
OR 0101
 = 1101


NOT Operations

Cara Bitwise NOT diguna boleh dijelaskan dengan terbalikkan bits dalam perkataan, 0 -> 1 dan 1 -> 0.

Contoh:

NOT 0110
  = 1001

No comments:

Post a Comment