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.
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