Pages

Sunday, 16 December 2012

Language of the Computer - Single Precision

Salam 1 Malaysia ,


Saya akan menerangkan lebih kepada 'Single Precision' yang terdapat dalam Language of the Computer.

Sesuatu yang anda perlu tahu sebelum pergi di 'Single Precision' adalah bahawa, 'single precision' adalah di bawah topik titik terapung yang juga melibatkan 'double precision'.

Rajah berikut menunjukkan susun atur untuk ketepatan tunggal (32-bit) dan dua (64-bit) nilai titik terapung. Bilangan bit untuk setiap medan ditunjukkan (banjaran sedikit dalam kurungan persegi):


  SignExponentFractionBias
Single Precision1 [31]8 [30-23]23 [22-00]127
Double Precision1 [63]11 [62-52]52 [51-00]1023
Layout for single (32-bit) and double (64-bit) precision floating-point values

Sama seperti topik lain, kita akan pergi menerangkan dengan bahagian ke bahagian.

Bagi bahagian yang pertama , kita akan menerangkan tentang 'Representation'

Ketepatan titik tunggal terapung unit adalah sebungkus 32 bit, dibahagikan kepada tiga bahagian satu bit, lapan bit, dan 23 bit, dalam perintah itu. Saya akan membuat penggunaan nombor binari disebutkan sebelumnya 1.01011101 * 25untuk menggambarkan bagaimana seseorang akan mengambil nombor binari dalam notasi saintifik dan mewakili dalam terapung notasi titik.


X
XXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
Sign
1 bit
Exponent
8 bits
Mantissa
23 bits




    Single Precision(32-bit) Floating-Point Unit

Seterusnya , 'Sign Field'

Bahagian pertama adalah satu bit panjang, dan adalah bit tanda. Ia adalah sama ada 0 atau 1; 0 menunjukkan bahawa nombor positif, 1 negatif. Bilangan 1.01011101 * 25 adalah positif, jadi bidang ini akan mempunyai nilai 0.


0
XXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
  Sign Field Diagram

'Exponent Field'


Bahagian kedua adalah lapan bit panjang, dan berfungsi sebagai "eksponen" bilangan kerana ia dinyatakan dalam notasi saintifik seperti yang diterangkan di atas (ada kaveat, jadi melekat di sekeliling). Satu bidang lapan bit panjang boleh mempunyai nilai-nilai antara 0-255. Bagaimana kes eksponen negatif akan dilindungi? Untuk menutup kes nilai-nilai negatif, ini "eksponen" sebenarnya adalah 127 lebih besar daripada eksponen "sebenar" istilah 2a dalam notasi saintifik. Oleh itu, dalam 1.01011101 x bilangan kami 25, medan eksponen lapan-bit akan mempunyai nilai perpuluhan 5 + 127 = 132. Dalam perduaan ini adalah 10000100.

0
10000100
XXXXXXXXXXXXXXXXXXXXXXX
Sign Field & Exponent Field Diagram

Bahagian yang terakhir dalam 32 bits 'Single Precision' adalah 'Mantissa Field'


Bahagian ketiga adalah 23 bit panjang, dan berfungsi sebagai "mantissa." (Mantissa kadang-kadang dipanggil significand yang.) Mantissa adalah semata-mata "barangan lain" kiri istilah 2a dalam nombor perduaan kami diwakili dalam notasi saintifik. Dalam 1.01011101 nombor kami * 25, anda akan berfikir bahawa mantissa, dalam semua 23 kemuliaan sedikit, akan mengambil nilai 10101110100000000000000, tetapi ia tidak. Jika anda berfikir tentang hal itu, semua nombor yang dinyatakan dalam notasi binari akan mempunyai 1. Mengapa? Dalam tatatanda saintifik perpuluhan tidak pernah perlu menyatakan nilai dengan 0 terkemuka, seperti 0,2392 * 103 atau sesuatu. Ini akan dinyatakan sebaliknya sebagai 2,392 * 102. Hakikatnya ialah, tidak pernah adalah 0 terkemuka dalam notasi saintifik, dan tiada bezanya sama ada kita berbicara tentang binari atau perpuluhan atau perenambelasan atau apa sahaja. Kelebihan binari, walaupun, adalah bahawa jika angka tidak boleh menjadi 0, ia mestilah 1! Jadi, 1 diandaikan berada di sana dan ketinggalan untuk memberi kita hanya bahawa ketepatan lebih. Oleh itu, mantissa kami untuk bilangan kita dalam fakta akan menjadi 01011101000000000000000.(Aliran panjang 0s pada akhir mempunyai satu sifar lebih daripada bilangan alternatif pada permulaan perenggan ini.)

0
10000100
01011101000000000000000
Sign Field , Exponent Field & Mantissa Field Diagram

Double Precision vs. Single Precision

Di samping ketepatan titik tunggal terapung diterangkan di sini, terdapat juga unit double ketepatan titik terapung. Ini mempunyai 64 bit dan bukannya 32, dan bukannya panjang bidang 1, 8, dan 23 seperti dalam ketepatan tunggal, mempunyai panjang bidang 1, 11, dan 52. Bidang eksponen mengandungi nilai yang sebenarnya adalah 1023 lebih besar daripada eksponen "benar", dan bukannya menjadi lebih besar sebanyak 127 seperti dalam ketepatan tunggal. Jika tidak, ia adalah sama.

Ringkasan Kes Khas

Satu ringkasan kes-kes khas yang ditunjukkan dalam jadual di bawah. Ia adalah lebih atau kurang salinan jadual didapati di 301 muka surat edisi kedua Organisasi Komputer dan Rekabentuk, Antara Muka Perisian Perkakasan "oleh Patterson dan Hennessy, buku teks untuk Sains Komputer 104 di semester Spring 2000. Walaupun hanya satu ketepatan telah dibincangkan dalam teks di atas, saya termasuk ketepatan kembar bagi demi kesempurnaan.

Single Precision
Double Precision
Object Represented
Exponent
Mantissa
Exponent
Mantissa
0
0
0
0
Zero
0
Nonzero
0
Nonzero
± Denormalized number
1-254
Anything
1-2046
Anything
± Normalized number
255
0
2047
0
± Infinity
255
Nonzero
2047
Nonzero
NaN (Not a Number)


                                                                 Ditulis oleh : Liew Voon Bin (B031210355)

0 comments:

Post a Comment