Aritmetika computer umumnya dibentuk dua jenis bilangan yang sangat berbeda: integer
dan floating point. Pada kedua jeniss bilangan tersebut, peemilihhan representasi
merupakan masalah rancangan yang sangat kritis dan akan dibahas pada pertama kali,
yang kemudian diikuti oleh pembahasan operasi-operasi aritmetika.
Control Flags
Unit
ALU
Register Register
REPRESENTASI INTEGER
Namun untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu
menggunakan tanda minus dan titik. Hanya bilangan biner (0 dan 1) yang dapat
mempresentasikan bilangan, kita hanya memakai integer non-negatif, maka
representasinya akan lebih mudah. Bila sebuah rangkaian n-bit bilangan biner an - 1an –
2…a1a0 akan diinterpresentakian sebagai unsigned A, nilainya adalah
A=
Rumus
Terdapat beberapa kekurangan pada representasi nilai-tanda. Salah satunya adalah bahwa
penambahan dan pengurangan memerlukan pertimbangan baik tanda billangan maupun
nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.
A rumus
Bilangan nol akan diidentifikasikan sebagai positif, sehingga memiliki tanda bit 0 dan
nilai keseluruhan 0.
Untuk bilangan negative A, bit tanda, an-1, sama dengan 1, n-1 bit sissanya dapat
mengambil salah satu dari 2n-1 nilai. Karena itu range integer negative dapat
direpresentasikan adalah mulai -1 hingga -2n-1. Hasilnya adalah bahwa assignment yang
mudah bagi nilai adalah untuk membiarkan bit-bit an -1an-2…a1a0 akan sama dengan
bilangan positif 2n+1+A, seperti diperoleh dengan
A rumus.
Karena bit tanda sama dengan 1, kita dapat menulis ekspresi bilangan negative sebagai :
A rumus
-128 64 32 16 8 4 2 1
Pemakaian kotak nilai (value box) untuk konversi antara bilangan biner komplemen dua
dan bilangan decimal. Bilangan komplemen dua paling negative yang dapat
direpresentasikan adalah -2n-1; bila terdapat bit-bit selain tanda bit 1, maka bit itu harus
memiliki sebuah bilangan 1 pada posisi paling kirinya dan bilangan positif harus
memiliki bilangan 0 pada posisi tersebut.
Fixed-Point
Representasi yang dibahas di sini kadang-kadang di sebut fixed point. Hal ini disebabkan
karena radix pointnya (binary point) tetap dan di asumsikan akan berada di sebelah kanan
dari digit yang paling kanan. Pemrograman menggunakan representasi yang sama untuk
bilangan pecahan biner dengan melakukan penskalaan bilangan-bilangan yang
bersangkutan, sehingga titik biner secara implicit berada pada lokasi lainnya.