Anda di halaman 1dari 7

IF2130 Organisasi dan Arsitektur

Komputer

Latihan Soal
Achmad Imam Kistijantoro (imam@informatika.org)
Representasi Bilangan
Floating point, dengan 9 bit, dengan pembagian:
1 bit sign, 4 bit exponen, 4 bit fraction.
Hitunglah nilai bilangan dengan bit pattern berikut:
1 0000 0000
0 0000 1111
1 0001 0001
0 1010 1010
1 1110 1111
0 1111 0000
Jawaban
-0
15/1024
-17/1024
13
-248
+infinity
Operasi Bilangan
Diberikan 2 kode berikut:

int abs(int x) { int opt_abs(int x) {


return x < 0 ? -x : x; int mask = x >> (sizeof(int)*8-1);
} int comp = x mask;
return comp;
}
A. Jelaskan bit pattern yang disimpan pada mask
B. Berapakah nilai mask?
C. Untuk nilai x berapakah kedua fungsi di atas memberikan
hasil yang sama?
D. Ubahkan fungsi opt_abs agar memberikan hasil yang sama
dengan abs, dengan menambahkan 1 operasi aritmetika.
Jawaban
A. Mask = 111..11, untuk x < 0, dan 00..000 untuk x >= 0
B. -1 untuk x < 0, dan 0 untuk x >= 0
C. X >= 0
D. return comp mask;
Diberikan kode berikut:
int x = foo();
unsigned int ux = x;
int y = bar();

Nyatakan benar atau salah:


(x>>31)^((-x)>>31) == 0
x^ ~(x>>31) < 0
x ^ y ^ (~x) y = y ^ x ^ (~y) - x
Salah
Benar
Benar

Anda mungkin juga menyukai