KomputerTeknologi informasi

Representasi dari angka di komputer. Representasi dari bilangan bulat dan bilangan real dalam memori komputer

Siapa pun yang pernah berpikir dalam hidup saya bahwa untuk menjadi "pro" atau administrator sistem, atau hanya untuk menghubungkan banyak dengan teknologi komputer, pengetahuan tentang bagaimana representasi dari nomor di memori komputer, mutlak diperlukan. Setelah semua, berdasarkan ini bahasa pemrograman tingkat rendah seperti Assembler. Oleh karena itu, hari ini kita mempertimbangkan representasi dari angka di komputer dan menempatkan mereka dalam sel memori.

catatan

Jika Anda membaca artikel ini, Anda mungkin sudah tahu tentang hal itu, tapi patut diulangi. Semua data dalam komputer pribadi disimpan dalam biner sistem nomor. Ini berarti bahwa setiap nomor Anda harus mengirimkan formulir yang tepat, yang terdiri dari nol dan satu.

Dalam rangka untuk mentransfer kebiasaan bagi kita angka desimal ke bentuk komputer dimengerti, Anda harus menggunakan algoritma yang dijelaskan di bawah ini. Ada juga kalkulator khusus.

Jadi, dalam rangka untuk menempatkan nomor dalam sistem biner, Anda perlu mengambil nilai kita dipilih dan membaginya dengan 2. Setelah itu, kami mendapatkan hasil dan sisanya (0 atau 1). Hasil 2 lagi membagi dan menghafal residu. Prosedur ini harus diulang selama hasilnya juga akan 0 atau 1. Kemudian menulis nilai akhir dan sisa-sisa dalam urutan terbalik, seperti yang kita telah menerima mereka.

Itulah apa yang terjadi dalam representasi komputer nomor. Setiap nomor yang tersimpan dalam bentuk biner, dan kemudian mengambil sel memori.

ingatan

Seperti yang Anda sudah harus tahu unit informasi minimum adalah 1 bit. Sebagaimana telah kita lihat, representasi dari angka di komputer berlangsung dalam format biner. Dengan demikian, masing-masing bit dari memori ditempati oleh salah satu nilai - 1 atau 0.

Untuk penyimpanan sejumlah besar digunakan sel. Setiap unit berisi 8 bit informasi. Oleh karena itu, kita dapat menyimpulkan bahwa nilai minimum di setiap segmen memori mungkin 1 atau menjadi bilangan biner delapan byte.

seluruh

Akhirnya kami sampai ke penempatan langsung data di komputer. Seperti disebutkan, hal pertama prosesor menerjemahkan informasi ke dalam format biner, dan hanya kemudian mengalokasikan memori.

Kita akan mulai dengan pilihan yang paling sederhana, yang merupakan representasi dari bilangan bulat dalam komputer. memori PC dialokasikan untuk proses ini ridiculously sejumlah kecil sel - hanya satu. Dengan demikian, maksimal satu slot mungkin nilai dari 0 sampai 11111111. Mari kita menerjemahkan jumlah maksimum entri dalam bentuk biasa.
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 8-01 Februari = 255 .

Sekarang kita melihat bahwa dalam satu sel memori dapat diposisikan dari 0 sampai 255. Namun, ini hanya berlaku untuk bilangan bulat non-negatif. Jika komputer akan perlu untuk merekam nilai negatif, semuanya berjalan sedikit berbeda.

angka negatif

Sekarang mari kita lihat bagaimana representasi dari angka di komputer, jika mereka negatif. Untuk menulis nilai yang kurang dari nol, ditugaskan dua sel memori, atau 16 bit informasi. Dengan demikian 15 pergi di bawah jumlah itu sendiri, dan yang pertama (paling kiri) bit diberikan oleh tanda yang sesuai.

Jika angka negatif, tercatat, "1", jika positif, maka "0". Untuk memudahkan menghafal, Anda dapat menarik analogi berikut: jika tanda adalah, kemudian menempatkan 1 jika tidak, maka tidak ada (0).

Sisa 15 bit informasi ditugaskan nomor. Demikian pula dengan kasus sebelumnya, Anda dapat menempatkan maksimal lima belas unit di dalamnya. Perlu dicatat bahwa masuknya angka negatif dan positif secara signifikan berbeda dari satu sama lain.

Dalam rangka mengakomodasi 2 sel memori lebih besar dari nol atau sama dengan, yang disebut kode langsung. Operasi ini dilakukan dengan cara yang sama seperti dijelaskan di atas, dan maksimum A = 32.766, bila menggunakan notasi desimal. Hanya ingin untuk dicatat bahwa dalam kasus ini, "0" mengacu pada positif.

contoh

Representasi dari bilangan bulat dalam memori komputer tidak seperti tugas yang sulit. Meskipun sedikit lebih rumit ketika datang ke nilai negatif. Untuk merekam jumlah yang kurang dari nol, menggunakan kode tambahan.

Untuk mendapatkannya, mesin menghasilkan sejumlah operasi tambahan.

  1. Pertama yang tercatat modulus dari angka negatif dalam notasi biner. Artinya, komputer ingat serupa tapi positif.
  2. Kemudian, memori pembalik setiap bit. Untuk tujuan ini, semua unit akan diganti dengan nol dan sebaliknya.
  3. Kami menambahkan "1" untuk hasilnya. Ini akan menjadi kode tambahan.

Berikut ini adalah contoh nyata. Misalkan kita memiliki sejumlah X = - 131. Pertama, mendapatkan modulus | X | = 131 kemudian diubah ke dalam sistem biner dan catatan 16 sel. Kami memperoleh X = 0000000010000011. Setelah pembalik X = 1111111101111100. Menambahkan kedalamnya "1" dan mendapatkan kode terbalik X = 1111111101111101. Untuk merekam sel memori 16-bit adalah jumlah minimum X = - (2 15) = - 32767.

rindu

Seperti yang Anda lihat, representasi bilangan real dalam komputer tidak begitu sulit. Namun, pembahasan kisaran mungkin tidak cukup untuk kebanyakan operasi. Oleh karena itu, dalam rangka mengakomodasi sejumlah besar komputer mengalokasikan sel memori 4, atau 32 bit.

Proses perekaman tidak berbeda dari yang disajikan di atas. Jadi kami hanya memberikan kisaran angka yang dapat disimpan dalam jenis ini.

X max = 2147483647.

X min = - 2147483648.

nilai data dalam kebanyakan kasus cukup untuk merekam dan untuk melakukan operasi pada data.

Representasi dari bilangan real di komputer memiliki kelebihan dan kekurangan. Di satu sisi, metode ini membuat lebih mudah untuk melakukan operasi antara nilai-nilai integer, yang sangat mempercepat prosesor. Di sisi lain, kisaran ini tidak cukup untuk menyelesaikan sebagian besar masalah di bidang ekonomi, fisika, aritmatika dan ilmu-ilmu lainnya. Jadi sekarang kita melihat metode lain untuk sverhvelichin.

floating point

Ini adalah hal terakhir yang perlu Anda ketahui tentang representasi dari angka di komputer. Karena ada masalah menentukan posisi koma di dalamnya, untuk mengakomodasi nomor tersebut dalam komputer yang digunakan oleh bentuk eksponensial saat menulis pecahan.

Setiap nomor dapat direpresentasikan dalam bentuk berikut X p = m * n. Di mana m - adalah jumlah mantissa, p - radix dan n - jumlah order.

Untuk standarisasi nomor titik perekaman floating digunakan berikut kondisi, yang menurut modul mantissa harus lebih besar dari atau sama dengan 1 / n dan kurang dari 1.

Mari kita nomor 666,66 diberikan. Mari kita memberikannya kepada bentuk eksponensial. Dalam x = 0,66666 * 10 Mar. P = 10 dan n = 3.

Pada penyimpanan nilai floating point biasanya dialokasikan 4 atau 8 byte (32 bit atau 64). Dalam kasus pertama itu disebut jumlah presisi tunggal, sedangkan yang kedua - presisi ganda.

Dari 4 byte dialokasikan untuk penyimpanan nomor, 1 (8 bit) yang diberikan di bawah pada data prosedur dan tandanya, dan 3 byte (24 bit) untuk menyimpan mantissa meninggalkan bekas dan pada prinsip yang sama seperti untuk nilai integer. Mengetahui hal ini, kita dapat membuat beberapa perhitungan sederhana.

Nilai maksimum n = 2 1111111 127 = 10. Berdasarkan hal itu, kita bisa mendapatkan jumlah maksimum nomor yang dapat disimpan dalam memori komputer. X = 2127. Sekarang kita dapat menghitung kemungkinan mantissa maksimal. Ini akan sama dengan 23-01 Februari ≥ 2 23 = 2 (10 × 2,3) ≥ 1000 2.3 = 10 (3 × 2,3) ≥ 10 7. Akibatnya, kita memperoleh nilai perkiraan.

Sekarang, jika kita menggabungkan kedua dari perhitungan, kita mendapatkan nilai yang dapat disimpan tanpa kehilangan 4 byte memori. Ini akan sama dengan X = 1.701411 * 10 38. Digit yang tersisa dibuang, karena memungkinkan Anda untuk memiliki ketepatan metode rekaman.

presisi ganda

Karena semua perhitungan yang telah dicat dan dijelaskan dalam paragraf sebelumnya, di sini kita memberitahu Anda semua sangat lama. Untuk nomor presisi ganda biasanya dialokasikan 11 bit untuk pesanan dan tanda serta 53 bit untuk mantissa.

1111111111 n = 2 1023 = 10.

M = 2 52 -1 = 2 (10 * 5.2) = 1000 5.2 = 10 15,6 . Bulat dan mendapatkan jumlah maksimum = 2 X 1023 sampai dengan "m".

Kami berharap informasi tentang representasi bilangan bulat dan bilangan real di komputer, kami telah menyediakan, hal ini berguna untuk Anda dalam pelatihan dan akan menjadi sedikit lebih jelas dari apa yang biasanya ditulis dalam buku teks.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 id.atomiyme.com. Theme powered by WordPress.