Demo Site

Minggu, 06 November 2011

Aritmatika Komputer



Operasi aritmatika binary, merupakan proses aritmatikan yang melandasi tentang proses aritmatika dan logika pada sistem digital dan komputer modern. Namun pada kenyataanya, operasi aritmatika tersebut tidak dapat diwakili oleh operasi yang terdapat pada gerbang dasar, walaupun secara prinsipnya tiap-tiap gerbang mewakili satu operasi aritmatika, terutama operasi aritmatika penjumlahan dan pengurangan.
Rangkaian aritmatika adalah rangkaian yang dapat melakukan proses operasi aritmatika seperti penjumlahan, pengurangan, perkalian, dan pembagian. Pada saat kita menjumlahkan bilangan biner 1+1, bila diwakili dengan operasi penjumlahan dengan gerbang OR, akan menghasilkan keluaran yang berbeda dengan operasi aritmatika sesungguhnya, dimana jika dioperasikan dengan gerbang OR akan diperoleh adalah 1+1=10.
Maka untuk menjawab pertanyaan ini dibutuhkan sebuah rangkaian yang dapat diwakili opersi aritmatik yang sesungguhnya.
Aturan satandar dalam penjumlahan :
0+0=1
0+1=1
1+0=1
1+1=0 dengan carry 1
Aturan standar dalam pengurangan :
0-0=0
0-1=1 dengan borrow 1
1-0=1
1-1=0 dengan carry 1
Karena transaksi elektronik dengan arus logika yang on atau off, telah ditemukan nyaman untuk mewakili kuantitas dalam bentuk biner untuk melakukan aritmatika pada komputer. Jadi, daripada harus sepuluh digit yang berbeda, 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9, dalam aritmatika biner, hanya ada dua angka yang berbeda, 0 dan 1, dan ketika pindah ke kolom berikutnya, bukan angka yang mewakili kuantitas yang sepuluh kali lebih besar, hanya merupakan jumlah yang dua kali lebih besar. Jadi, angka pertama yang ditulis dalam biner sebagai berikut:
Desimal Biner
Nol 0 0
Satu 1 1
Dua 2 10
Tiga 3 11
Empat 4 100
Lima 5 101
Enam 6 110
Tujuh 7 111
Delapan 8 1000
Sembilan 9 1001
Sepuluh 10 1010
Sebelas 11 1011
Dua belas 12 1100
Tabel penjumlahan dan perkalian untuk aritmatika biner sangat kecil, dan ini memungkinkan untuk menggunakan sirkuit logika untuk membangun penambah biner.
+ | 0 1 * | 0 1
--------- ---------
0 | 0 1 0 | 0 0
1 | 1 10 1 | 0 1
Sistem biner adalah sistem lain tempat-nilai, berdasarkan prinsip yang sama, namun, dalam sistem itu, kotak terkecil hanya memiliki dua kelereng di dalamnya, dan setiap kotak yang lebih besar hanya berisi dua dari ukuran yang lebih kecil berikutnya kotak.
Kita telah melihat bagaimana kita dapat menggunakan dua digit, 0 dan 1, untuk melakukan hal yang sama yang bisa kita lakukan dengan angka 0 dan 9 saja; menulis bilangan bulat sama dengan atau lebih besar dari nol.
Dalam menulis, itu cukup mudah untuk menambahkan tanda minus di depan angka, atau menyisipkan titik desimal. Ketika nomor direpresentasikan hanya sebagai string bit, tanpa simbol-simbol lain, konvensi khusus harus diadopsi untuk mewakili angka yang negatif, atau satu dengan titik radix menunjukkan fraksi biner.
Secara historis, komputer telah mewakili angka negatif dalam beberapa cara berbeda. Salah satu metode adalah tanda-besarnya representasi, di mana bit pertama dari integer, jika satu, menunjukkan bahwa jumlah negatif.
Sejauh ini cara yang paling umum untuk mewakili bilangan bulat negatif pada komputer modern, bagaimanapun, adalah notasi komplemen dua, karena dalam notasi ini, penambahan jumlah ditandatangani, kecuali untuk kemungkinan adanya carry ketika overflow sebenarnya tidak terjadi, adalah identik dengan penambahan jumlah normal positif. Di sini, untuk mengganti nomor dengan setara negatif, salah satu membalikkan semua bit, dan kemudian menambahkan satu.
Metode lain yang mewakili angka negatif adalah hanya untuk menambahkan konstan, sama dengan setengah jangkauan tipe integer, ke nomor untuk mendapatkan representasi biner. Hal ini biasanya digunakan untuk bagian eksponen dari floating-point.
Floating-point digunakan dalam perhitungan ilmiah. Dalam perhitungan ini, bukan berurusan dalam jumlah yang selalu harus sama persis dalam hal dari seluruh unit, apakah unit yang merupakan sen dolar atau, sejumlah digit presisi dicari untuk kuantitas yang mungkin sangat kecil atau sangat besar. Dengan demikian, floating-point diwakili internal dalam komputer dalam sesuatu yang menyerupai notasi ilmiah.
Bagian bilangan bulat dan pecahan dari logaritma disebut, masing-masing, karakteristik dan mantissa ketika menggunakan logaritma umum untuk melakukan perhitungan.
Untuk menjaga bidang dalam angka floating-point yang berbeda, dan untuk membuat aritmatika floating-point sederhana, cara yang umum untuk mewakili angka floating point adalah seperti ini:
Pertama, tanda nomor tersebut; 0 jika positif, 1 jika negatif. Kemudian eksponen. Jika eksponen adalah tujuh bit panjang, hal ini direpresentasikan dalam notasi berlebih-64, jika itu adalah sebelas bit panjang, seperti dalam contoh ini, direpresentasikan dalam notasi berlebih-1, 024. Artinya, bit yang digunakan untuk eksponen adalah representasi biner dari nilai eksponen ditambah 1.024, ini adalah cara paling sederhana untuk mewakili eksponen, karena semuanya sekarang positif.
Akhirnya, angka terkemuka dari bilangan biner yang sebenarnya. Karena ini berisi informasi yang sama sebagai bagian fraksional dari logaritma basis-2 (atau logaritma basis-16, telah eksponen menjadi kekuatan 16, seperti yang terjadi pada beberapa arsitektur lain bukan yang diperiksa di sini) dari nomor, ini bagian dari angka floating-point juga disebut mantissa, bahkan jika istilah ini banyak dikritik sebagai sebuah ironi. Beberapa contoh floating-point adalah sebagai berikut:
1.024 0 10000001011 10000
512 0 10000001010 10000
256 0 10000001001 10000
128 0 10000001000 10000
64 0 10000000111 10000
32 0 10000000110 10000
16 0 10000000101 10000

14 0 10000000100 11100
12 0 10000000100 11000
10 0 10000000100 10100

8 0 10000000100 10000

7 0 10000000011 11100
6 0 10000000011 11000
5 0 10000000011 10100

4 0 10000000011 10000

3,5 0 10000000010 11100
3 0 10000000010 11000
2,5 0 10000000010 10100

2 0 10000000010 10000

1,75 0 10000000001 11100
1,5 0 10000000001 11000
1,25 0 10000000001 10100

1 0 10000000001 10000

0,875 0 10000000000 11100
0,75 0 10000000000 11000
0,625 0 10000000000 10100

0,5 0 10000000000 10000
0,25 0 01111111111 10000
0,125 0 01111111110 10000
0,0625 0 01111111101 10000
0,03125 0 01111111100 10000

0 0 00000000000 00000

-1 1 10000000001 10000
Dalam setiap entri di atas, bidang eksponen 11-bit seluruh ditampilkan, tetapi hanya lima bit pertama dari bidang mantissa ditampilkan, sisanya menjadi nol.
Sebuah angka floating-point yang digit pertama, di mana ukuran digit ditentukan oleh eksponen dasar, tidak nol dikatakan dinormalisasi. Secara umum, ketika angka floating-point normal, ia tetap presisi maksimum yang mungkin, dan normalisasi hasilnya merupakan bagian intrinsik dari operasi floating-point.
Dalam ilustrasi di atas,
0 00000000000 10000
akan mewakili jumlah terkecil yang mungkin dapat dinormalisasi. Beberapa komputer memungkinkan underflow bertahap, di mana jumlah seperti
0 00000000000 01000
juga diperbolehkan, karena mereka adalah sebagai dinormalisasi seperti yang mungkin, dan makna mereka tidak ambigu.
Para Dini Hari Heksadesimal
Kebanyakan komputer, internal, menggunakan angka biner untuk aritmatika, sebagai sirkuit untuk aritmatika biner yang paling sederhana untuk melaksanakan. Beberapa komputer akan melakukan basis-10 aritmatika bukan, sehingga untuk menghitung secara langsung pada nomor seperti yang digunakan oleh orang-orang dalam menulis. Hal ini biasanya dilakukan dengan mewakili setiap digit dalam bentuk biner, meskipun sejumlah pengkodean berbeda untuk angka desimal telah digunakan.
Ketika sebuah komputer menggunakan aritmatika biner, itu diinginkan untuk memiliki cara singkat untuk mewakili bilangan biner. Salah satu cara untuk melakukan ini adalah dengan menggunakan notasi oktal, dimana angka 0-7 mewakili tiga bit berturut-turut, dengan demikian, bilangan bulat dalam basis-8 representasi dapat dengan cepat diterjemahkan ke bilangan bulat dalam basis-2 representasi. Cara lain, lebih cocok untuk komputer dengan panjang kata yang merupakan kelipatan dari empat digit, adalah notasi heksadesimal.
Programmer yang akrab dengan penggunaan huruf A sampai F untuk mewakili nilai-nilai 10 melalui 15 sebagai digit heksadesimal tunggal. Sebelum System/360 IBM membuat standar ini yang universal, beberapa komputer awal menggunakan notasi alternatif untuk heksadesimal.

0 komentar:

Posting Komentar