TMD01 Bab04B Representasi Bit

35
 Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung 2009  Arsitektur Komputer Representasi Bi t dan Byte 1

Transcript of TMD01 Bab04B Representasi Bit

Page 1: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 1/35

Sekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung2009

Arsitektur Komputer

Representasi Bit dan Byte

1

Page 2: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 2/35

Pembahasan

Representasi informasi dalam bentuk bit

Biner/Heksadesimal Representasi byte

Bilangan

Karakter dan string Instruksi

Manipulasi level bit

 Aljabar Boolean

Ekspresi dalam bahasa C

2

Page 3: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 3/35

Representasi Berbasis 10

Representasi bilangan berbasis 10 Berasal dari jari manusia, dikenal sebagai ‘digit’  Representasi yang biasa digunakan dalam transaksi finansial Digunakan juga dalam notasi ilmiah

1.2345 x 104

Sulit diimplementasikan secara elektronik 

Sulit untuk disimpan ENIAC (komputer elektronik pertama) menggunakan 10 tabung

hampa untuk mengimplementasikan satu digit

Sulit untuk dikirimkan Perlu kepresisian tinggi untuk mengkodekan 10 level sinyal pada

satu kawat Sulit untuk mengimplementasikan fungsi logika digital

Penjumlahan, perkalian, dll

3

Page 4: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 4/35

Representasi Biner 

Representsi bilangan berbasis 2 1234510 direpresentasikan 110000001110012

1.2010 direpresentasikan 1.0011001100110011[0011]…2

1.2345 X 104 direpresentasikan 1. 10000001110012 X 213

Implementasi elektronik  Elemen ‘bistable’ dapat disimpan dengan mudah  Andal bila dikirimkan melalui kawat yang tidak akurat dan ber-derau

Fungsi aritmatika dapat diimplemetasikan secara langsung

0.0V

0.5V

2.8V

3.3V

0 1 0

4

Page 5: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 5/35

Mengkodekan Byte

1 byte = 8 bit

Merepresentasikan bilangan : Biner dari 000000002 hingga 111111112

Desimal dari 010 hingga 25510

Heksadesimal dari 0016 hingga FF16

Representasi bilangan berbasis 16 Menggunakan karakter ‘0’ hingga ‘9’ dan ‘A’ hingga ‘F’ 

Pada bahasa pemrograman C, FA1D3716ditulis 0xFA1D37 atau 0xfa1d37

0 0 00001 1 00012 2 00103 3 00114 4 01005 5 0101

6 6 01107 7 01118 8 10009 9 1001

 A 10 1010B 11 1011

C 12 1100D 13 1101E 14 1110F 15 1111

5

Page 6: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 6/35

Ukuran Word

Setiap komputer memiliki “ukuran word” tertentu

Indikator ukuran data integer dan data pointer (alamat)Kebanyakan komputer saat ini, 1 word = 32 bit (4 byte)

Membatasi alokasi alamat hingga 4GB (232 byte)

Dari alamat 0000.…0000 (0) hingga 1111.…1111 (4,294,967,295)

Nilai ini menjadi terlalu kecil bila digunakan pada aplikasi scientificdan database yang perlu menggunakan memori secara intensif 

Sistem high-end menggunakan 64 bit (8 byte)

Dapat mengalamati 1.8 X 1019 byte

Komputer dan compiler mendukung berbagai format data

integer dan floating point memiliki kode dan panjang databerbeda

6

Page 7: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 7/35

Organisasi Memori

 Alamat merupakan lokasipenyimpanan word datadalam memori

Ukuran satu lokasi memori =satu byte

 Alamat menunjukkan lokasibyte pertama suatu word

 Alamat word berikutnyabertambah 4 (32 bit) atau 8(64 bit)

Perlu 4 lokasi memori untuk menyimpan data 32 bit

0000

0001

00020003

0004

0005

00060007

0008

0009

0010

0011

32-bit Byte Alamat

0012

0013

0014

0015

64-bit

Addr

=??

Addr=??

Addr=

??

Addr=

??

Addr=??

Addr=??

0000

0004

0008

0012

0000

0008

7

Page 8: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 8/35

Representasi Data

Ukuran data pada format C (dalam byte)

Tipe data Tipikal 32-bit Alpha 64-bit Keterangan

char 1 1

short int 2 2

int 4 4 long int 4 8

float 4 4 single precision

double 8 8 double precision

long double 8 8

char * 4 8 pointer

8

Page 9: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 9/35

Aturan Pengurutan Byte

Bagaimana setiap byte suatu word disusun

dalam memori ? Aturan :

Mesin Sun dan Mac adalah mesin “Big Endian” 

Byte LSB (Least Significant Byte) terletak di alamat palingTINGGI

Mesin Compaq Alpha dan PC adalah “Little Endian” 

Byte LSB (Least Significant Byte) terletak di alamat paling

RENDAH

9

Page 10: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 10/35

Contoh Urutan Byte

Big Endian : byte LSB terletak di alamat paling tinggi

Little Endian : byte LSB terletak di alamat paling rendah

Contoh  Variabel x memiliki representasi 4 byte : 0x01234567

dimana MSB = 0x01(0000 0001) dan LSB = 0x67(0110 0111)

 Alamat awal yang diberikan oleh &x adalah 0x100

0x100 0x101 0x102 0x103

01 23 45 67

0x100 0x101 0x102 0x103

67 45 23 01

Big Endian

Little Endian

01 23 45 67

67 45 23 01

10

Page 11: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 11/35

Membaca Urutan Byte

Disassembly

Mengartikan kode mesin

Dihasilkan oleh suatu program yang dapat membaca kode mesinContoh potongan program :

Alamat Kode instruksi Bahasa Assembly8048365: 5b pop %ebx

8048366: 81 c3 ab 12 00 00 add $0x12ab,%ebx

804836c: 83 bb 28 00 00 00 00 cmpl $0x0,0x28(%ebx)

Mengartikan bilangan

nilai : 0x12ab menjadi 4 bytes : 0x000012ab

dipisah per byte : 00 00 12 ab

dibalik : ab 12 00 00

11

Page 12: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 12/35

Representasi Byte Data

Kode untuk menampilkan representasi byte data

Casting pointer menjadi unsigned char * menghasilkan array byte

typedef unsigned char *pointer;

void show_bytes(pointer start, int len)

{

int i;

for (i = 0; i < len; i++)

 printf("0x%p\t0x%.2x\n",

start+i, start[i]);

 printf("\n");

}

printf directives:%p : print pointer%x : print hexadecimalcasting = mengganti tipe data

menggunakan instruksi typedef12

Page 13: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 13/35

Hasil Eksekusi show_bytes

int a = 12345;

 printf("int a = 12345;\n");

show_bytes((pointer) &a, sizeof(int));

Hasil diperoleh (Linux) :

int a = 12345;

0x11ffffcb8 0x39

0x11ffffcb9 0x30

0x11ffffcba 0x00

0x11ffffcbb 0x00

Program utama :

13

Page 14: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 14/35

Representasi Integer 

int A = 12345;

int B = -12345;

long int C = 12345;

Desimal: 12345

Biner: 0011 0000 0011 1001

Heksa: 3 0 3 9

39

30

0000

Linux/Alpha A 

3039

00

00

Sun A 

C7

CF

FF

FF

Linux/Alpha B

CF

C7

FF

FF

Sun B

Representasi two’s complement

00

00

0000

39

30

00

00

Alpha C

30

39

00

00

Sun C

39

30

00

00

Linux C

14

Page 15: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 15/35

Representasi Pointer (Alamat)

int B = -12345;

int *P = &B;

Alamat Alpha

Heksa: 1 F F F F F C A 0

Biner: 0001 1111 1111 1111 1111 1111 1100 1010 0000

01

00

00

00

 A0FC

FF

FF

Alpha P

Alamat SunHeksa: E F F F F B 2 C

Biner: 1110 1111 1111 1111 1111 1011 0010 1100

Mesin dan compiler berbeda akan memberikan lokasi obyek berbeda 

FB

2C

EF

FF

Sun P

FF

BF

D4

F8

Alamat Linux

Heksa: B F F F F 8 D 4

Biner: 1011 1111 1111 1111 1111 1000 1101 0100

15

Page 16: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 16/35

Representasi Floating Point

Float F = 12345.0;

IEEE Single Precision Floating Point Representation

Heksa: 4 6 4 0 E 4 0 0

Biner: 0100 0110 0100 0000 1110 0100 0000 0000

12345: 1100 0000 1110 01

Tidak sama dengan representasi integer, tetapi konsisten di semua mesin 

00

E440

46

Linux/Alpha F

E4

00

46

40

Sun F

Memperlihatkan relasi dengan integer, walau tidak terlihat jelas 

IEEE Single Precision Floating Point Representation

Heksa: 4 6 4 0 E 4 0 0

Biner: 0100 0110 0100 0000 1110 0100 0000 0000

12345: 1100 0000 1110 01

IEEE Single Precision Floating Point

Heksa: 4 6 4 0 E 4 0 0

Biner: 0100 0110 0100 0000 1110 0100 0000 0000

12345: 1100 0000 1110 01

16

Page 17: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 17/35

Representasi String

char S[6] = "12345";Strings dalam bahasa C

Direpresentasikan dalam array karakter

Setiap karakter dikodekan dalam format ASCII

Kode karakter standar 7-bit

Karakter “0” memiliki kode 0x30

Digit i memiliki kode 0x30+i

String harus diakhiri dengan null

Karakter akhir = 0

Kompatibilitas

Setiap sistem yang menggunakan ASCII untuk menkodekan karakter akan memberikan hasil

yang sama Data teks umumnya bersifat platform-

independen

Kecuali jika ada aturan lain tentangkarakter akhir suatu baris

Linux/Alpha S Sun S

33

34

31

32

35

00

33

34

31

32

35

00

17

Page 18: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 18/35

Representasi Kode Mesin

Program dikodekan menjadi urutan instruksi Masing-masing berupa operasi sederhana

Operasi aritmatika

Membaca atau menulis memori

Percabangan

Instruksi dikodekan sebagai byte

Instruksi pada Alpha, Sun, Mac menggunakan 4 byte Reduced Instruction Set Computer (RISC)

PC menggunakan instruksi dengan panjang yang variabel Complex Instruction Set Computer (CISC)

Setiap mesin memiliki jenis instruksi dan pengkodean berbeda Umumnya kode tidak binary compatible

Program juga merupakan urutan byte

18

Page 19: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 19/35

Representasi Instruksi

int sum(int x, int y)

{

return x+y;

}

Mesin yang berbeda menggunakan instruksi dan kode berbeda 

00

0030

42

Alpha sum 

01

80FA 

6B

E0

08

81

C3

Sun sum 

90

0200

09

Pada contoh ini, Alpha & Sunmenggunakan dua instruksidengan panjang 4 byte

Pada kasus lain memakai jumlahinstruksi berbeda

PC menggunakan 7 instruksidengan panjang 1, 2, dan 3 byte

Sama dengan NT dan Linux NT / Linux tidak ‘fully binary

compatible’ 

E5

8B

55

89

PC sum 

45

0C03

45

08

89

EC

5D

C3

19

Page 20: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 20/35

Aljabar Boolean

20

Page 21: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 21/35

Aljabar Boolean

Dikembangkan oleh George Boole pada abad 19

Representasi logika aljabar : 1 = “TRUE” dan 0 = “FALSE” 

 AND  A&B = 1 jika A=1 dan B=1

& 0 1

0 0 01 0 1

~

0 1

1 0

NOT ~A = 1 jika A=0

OR   A|B = 1 jika A=1 atau B=1

| 0 1

0 0 11 1 1

^ 0 1

0 0 1

1 1 0

Exclusive-Or (XOR)  A^B = 1 jika A=1 atau B=1, tapi

tidak keduanya

21

Page 22: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 22/35

Aplikasi Aljabar Boolean

A

~A

~B

B

Koneksi terjadi bila:

A&~B | ~A&B

Digunakan pada sistem digital oleh Claude Shannon Tesis Master di MIT 1937

Pemikiran tentang jaringan saklar relay Mengkodekan saklar tertutup = 1, saklar terbuka= 0

A&~B

~A&B = A^B

22

Page 23: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 23/35

Integer Aritmatika

Integer aritmatika memiliki struktur matematika

yang dikenal sebagai “Ring” → disebut juga I nt eger Ring

Z, + , * , –, 0, 1 = Ring + adalah operasi “tambah” 

* adalah operasi “kali” 

 – adalah penjumlahan inversi

0 adalah identitas untuk tambah

1 adalah identitas untuk kali

23

Page 24: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 24/35

Aljabar Boolean

{ 0,1} , | , & , ~ , 0, 1 = Aljabar Boolean

| (OR) adalah operasi “tambah” 

& (AND) adalah operasi “kali” 

~ adalah operasi “komplemen” (bukan penjumlahaninversi)

0 adalah identitas untuk tambah

1 adalah identitas untuk kali

24

Page 25: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 25/35

Aljabar Boolean ≈ Integer Ring

Komutatif 

 A | B = B | A A + B = B + A 

 A & B = B & A A * B = B * A 

 Asosiatif (A | B) | C = A | (B | C) (A + B) + C = A + (B + C)

(A & B) & C = A & (B & C) (A * B) * C = A * (B * C)

Distributif 

 A & (B | C) = (A & B) | (A & C) A * (B + C) = A * B + A * C

Identitas jumlahan dan perkalian 

 A | 0 = A A + 0 = A 

 A & 1 = A A * 1 = A 

Nol adalah annihilator perkalian 

 A & 0 = 0 A * 0 = 0

Negasi dari negasi 

~ (~ A) = A – (– A) = A  

25

Page 26: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 26/35

Aljabar Boolean ≠ Integer Ring

Boolean: Distributif 

 A | (B & C) = (A | B) & (A | C) A + (B * C) (A + B) * (B + C)

Boolean: Idempotency 

 A | A = A A + A  A 

 “A True” atau “A True” = “A True” 

 A & A = A A * A  A 

Boolean: Absorpsi 

 A | (A & B) = A A + (A * B)  A  “A True” atau “A True dan B True” = “A True” 

 A & (A | B) = A A * (A + B)  A 

Boolean: hukum komplemen 

 A | ~A = 1 A + –A  1

 “A True” atau “A False” 

Ring: setiap elemen memiliki inversi penjumlahan 

 A | ~A  0 A + –A = 0

26

Page 27: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 27/35

Boolean Ring

{0,1}, ^, &,   , 0, 1 = Boolean Ring

Identik dengan integer mod 2 = Z2, +2, *2, –2, 0, 1

  adalah operasi identitas:   (A) = A 

Sifat -sifat Boolean Ring :

Komutatif penjumlahan A ̂ B = B ̂ A 

Komutatif perkalian A & B = B & A  

 Asosiatif penjumlahan (A ^ B) ^ C = A ^ (B ^ C)

 Asosiatif perkalian (A & B) & C = A & (B & C)

Distributif A & (B ̂ C) = (A & B) ̂ (B & C)

0 identitas jumlah A ^ 0 = A 

1 identitas kali A & 1 = A  

0 annihilator kali A & 0 = 0

Inversi penjumlahan A ̂ A = 0

27

Page 28: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 28/35

Relasi Antar Operasi

Hukum DeMorgan

Mengekspresikan & dalam bentuk |, dan sebaliknya

 A & B = ~(~A | ~B)

 A and B true jika and hanya jika A nor B false

 A | B = ~(~A & ~B)

 A or B true jika dan hanya jika A and B keduanya tidak false

Exclusive-OR menggunakan Inclusive OR 

 A ^ B = (~A & B) | (A & ~B)

Hanya satu dari A and B true

 A ^ B = (A | B) & ~(A & B)

Salah satu A true, atau B true, tidak keduanya

28

Page 29: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 29/35

Operasi Aljabar Boolean

Operasi vektor bit

Operasi bitwise (bit per bit)

Seluruh sifat-sifat aljabar Boolean digunakan di sini

01101001

& 01010101

01000001

01101001

| 01010101

01111101

01101001

^ 01010101

00111100

~ 01010101

1010101001000001 01111101 00111100 10101010

29

Page 30: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 30/35

Representasi dan Operasi Set

Representasi Set Lebar w  pada bit vector merepresentasikan subset { 0, …, w  –1}

a j  = 1 jika  j  I 

 A = 01101001 { 0, 3, 5, 6 }

76543210

B = 01010101 { 0, 2, 4, 6 }

76543210

Operasi Set  A & B Irisan/Interseksi 01000001 { 0 , 6 }

 A | B Union 01111101 { 0, 2, 3, 4, 5, 6 }

 A ^ B Berbeda simetrik  00111100 { 2, 3, 4, 5 }

~ B Komplemen 10101010 { 1, 3, 5, 7 }

30

Page 31: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 31/35

Operasi Bit dalam C

Operasi &, |, ~, ^ terdapat dalam bahasa C

Dapat digunakan pada setiap tipe data integer

long, int, short, char

Setiap representasi bilangan dilihat sebagai bit vector

Operasi bilangan dilakukan secara bit-wise

Contoh (tipe data char)

~0x41 --> 0xBE~010000012 --> 101111102

~0x00 --> 0xFF

~000000002 --> 111111112

0x69 & 0x55 --> 0x41

011010012 & 010101012 --> 010000012

0x69 | 0x55 --> 0x7D

011010012 | 010101012 --> 011111012

31

Page 32: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 32/35

Operasi Logika dalam C

OPERASI LOGIKA BERBEDA DENGAN OPERASI BIT

Operator logika : &&, ||, !

0 dipandang sebagai “FALSE” 

Segala sesuatu yang tidak nol dipandang sebagai “TRUE” 

Selalu menghasilkan 0 atau 1

Terminasi awal

Operasi a && 5/a tidak akan menyebabkan pembagian dengan nol

Contoh (tipe data char)

!0x41 --> 0x00

!0x00 --> 0x01

!!0x41 --> 0x01

0x69 && 0x55 --> 0x01

0x69 || 0x55 --> 0x01

p && *p

32

Page 33: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 33/35

Operasi Shift

Shift kiri: x << y

Shift argumen x ke kiri sebanyak y

posisi

Membuang bit paling kiri Bagian kanan diisi dengan 0

Shift kanan: x >> y

Shift argumen x ke kanan sebanyak 

y posisi Membuang bit paling kanan

Logical shift

Bagian kiri diisi dengan 0

 Arithmetic shift

Replikasi MSB bagian kanan

Digunakan pada representasiinteger two’s complement

01100010Argumen x

00010000<< 3

00011000Log. >> 2

00011000Arit. >> 2

10100010Argumen x

00010000<< 3

00101000Log. >> 2

11101000Arit. >> 2

0001000000010000

0001100000011000

0001100000011000

00010000

00101000

11101000

00010000

00101000

11101000

33

Page 34: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 34/35

Contoh Operasi XOR

void funny(int *x, int *y)

{

*x = *x ^ *y; /* #1 */

*y = *x ^ *y; /* #2 */*x = *x ^ *y; /* #3 */

}

Bitwise XOR adalahbentuk penjumlahan

Setiap nilai memilikiinversi jumlah (additive inverse ) masing-masing

 A ^ A = 0

B A Begin

B A^B1

(A^B)^B = A  A^B2

 A (A^B)^A = B3

 A BEnd

*y*x

34

Page 35: TMD01 Bab04B Representasi Bit

5/17/2018 TMD01 Bab04B Representasi Bit - slidepdf.com

http://slidepdf.com/reader/full/tmd01-bab04b-representasi-bit 35/35

Ringkasan

Semua berkisar tentang bit dan byte Bilangan

Program Teks

Mesin yang berbeda memiliki aturan berbeda Ukuran word

Urutan byte

Representasi

 Aljabar Boolean adalah operasi matematika

Dasarnya mengkodekan “FALSE” = 0, “TRUE” = 1 Memiliki bentuk umum, digunakan pada operasi bit dalam C

Baik digunakan untuk merepresentasikan dan memanipulasi set

35