Rumah > masalah biasa > Adakah nombor mesin kod asal atau kod pelengkap?

Adakah nombor mesin kod asal atau kod pelengkap?

青灯夜游
Lepaskan: 2022-11-18 14:22:46
asal
16791 orang telah melayarinya

Nombor mesin ialah kod asal dan kod pelengkap. Nombor binari bertanda yang diwakili dalam komputer dipanggil nombor mesin termasuk tiga perwakilan: kod asal, pelengkap dan pelengkap seseorang. Kod asal ialah nombor binari dengan bit tanda ditambah Bit tanda bagi nombor positif ialah 0, bit tanda bagi nombor negatif ialah 1, dan bit tanda ialah bit tertinggi; kod asal, dan pelengkap nombor negatif ialah bit tanda Bit yang lain tidak berubah, dan bit lain disongsangkan; 1.

Adakah nombor mesin kod asal atau kod pelengkap?

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

1. Bilangan mesin


Setelah memahami bilangan mesin, kami mendapati bahawa bilangan mesin termasuk "kod sumber", "kod terbalik" dan "kod pelengkap" Borang perwakilan; nombor ialah "0" dan tanda nombor negatif ialah "1".

Contohnya: Nombor mesin 5 ialah: 00000101

Nombor mesin -5 ialah: 10000101 (mengambil binari 8-bit sebagai contoh)

Dan " kod sumber", "Kod terbalik" dan "kod pelengkap" mempunyai bentuk perwakilan yang sama, dan hubungan mereka akan diperkenalkan secara terperinci seterusnya.

2. Nilai sebenar


Nilai sebenar merujuk kepada nilai sebenar yang sepadan dengan nombor mesin dengan bit tanda.

Untuk nilai sebenar, ia biasanya dinyatakan dalam tatatanda perpuluhan, tetapi juga boleh dinyatakan dalam perduaan Nilai sebenar jarang dinyatakan dalam asas lain.

Contohnya: Nilai sebenar 10000101 = -0000101 = -5

Nilai sebenar 00000101 = 0000101 = 5

3 >

Kod asal ialah nombor binari dengan bit tanda ditambah Bit tanda nombor positif ialah 0, bit tanda nombor negatif ialah 1, dan bit tanda ialah bit tertinggi. Pemahaman peribadi saya ialah menukar " " dalam nilai sebenar kepada 0 dan "-" kepada 1.

Perwakilan kod asal ialah bit pertama ialah bit tanda ditambah nilai mutlak nilai sebenar.

Contohnya: -000101 (nilai sebenar) = 10000101 (kod asal)

          00000101 (nilai sebenar) = 00000101 (kod asal)

gunakan bit pertama

bit tanda , jadi julat kod asal dalam binari 8-bit ialah:

11111111~01111111 Iaitu -127~127

Kod asal ialah representasi paling mudah untuk difahami oleh otak dan mengira.

4. Pelengkap seseorang

Pelengkap satu nombor positif ialah dirinya sendiri; nombor negatif ialah bit simbol kekal tidak berubah, dan bit lain disongsangkan (0 menjadi 1, 1 menjadi 0 Kod pelengkap nombor negatif ialah bit tanda kekal tidak berubah, dan bit lain disongsangkan.

Kod songsang adalah berdasarkan kod asal Jika ia adalah nombor positif, ia adalah sama dengan kod asal Jika ia adalah nombor negatif, tanda pertama kekal tidak berubah dan baki nilai adalah songsang.

Contohnya: 00000101 (kod asal) = 00000101 (kod terbalik)

10000101 (kod asal) = 11111010 (kod terbalik)

tidak mudah untuk kod terbalik otak untuk memahami, Ia biasanya ditukar kepada kod asal dan kemudian dikira.

5. Kod pelengkap

Kod pelengkap adalah berdasarkan kod asal, ia adalah sama dengan kod asal ialah nombor negatif, kecuali simbol pertama, Nilai selebihnya disongsangkan (pelengkap seseorang), berdasarkan 1.

Contohnya: 00000101 (kod asal) = 00000101 (kod terbalik) = 00000101 (kod pelengkap)

10000101 (kod asal) = 11111010 = 11111010 = 1111010 =0 (11111010) 🎜 >

Untuk nombor negatif, otak manusia tidak dapat melihat nilai secara intuitif dalam perwakilan pelengkap kedua-duanya, dan biasanya ia perlu menukarnya kepada kod asal dan kemudian mengira nilainya.

6. Proses menggunakan kod asal, kod songsang dan kod pelengkap

Ia mudah difahami hanya menggunakan kod asal, tetapi untuk komputer, adalah perlu untuk membezakan yang pertama Positif dan negatif menggunakan banyak sumber, jadi orang mencari cara untuk menggunakan bit tanda untuk mengambil bahagian dalam operasi.


Kita tahu bahawa mengikut algoritma, menolak nombor positif adalah bersamaan dengan menambah nombor negatif, iaitu: 1-1 = 1 (-1) = 0, jadi mesin hanya boleh menambah tetapi tidak menolak, jadi Reka bentuk operasi komputer adalah lebih mudah.

Rancangan Penerokaan 1.0 (kod asal):

1 (-1) = 0

00000001 (kod asal) 10000001 (kod asal) = 10000010 = (kod asal) -2

Rancangan untuk meneroka kod asal untuk mengira tempat pertama gagal

Pelaburan tambahan!

Pelan penerokaan versi 2.0 dikeluarkan (kod terbalik):

00000001 (kod asal) 10000001 (kod asal) = 00000001 (kod terbalik) 11111110 (kod terbalik) = 1111 (kod terbalik) = 11111110 = 10000000 (kod asal) = -0

Kemas kini perihalan: Menyelesaikan masalah simbol pertama yang mengambil bahagian dalam operasi, yang mengurangkan banyak sumber yang digunakan oleh komputer untuk operasi binari, tetapi "0" dan "- 0" muncul Situasi berulang boleh diperbaiki!

Pelan penerokaan versi 3.0 dikeluarkan (kod pelengkap):

00000001 (kod asal) 10000001 (kod asal) = 00000001 (kod terbalik) 11111110 (kod terbalik) = 11111110 (kod terbalik) 11111111 (Kod pelengkap) = 00000000 (Kod pelengkap) = 00000000 (Kod asal) = 0

Lampirkan: (-1) (-127) = (-128)

1000 (Kod asal) ) 11111111 (kod asal) = 11111110 (kod terbalik) 10000000 (kod terbalik) = 11111111 (kod pelengkap) 10000001 (kod pelengkap) = 10000000 (kod pelengkap) = -128

). Contohnya: int mempunyai 4 bait dan 32 bit, dan julat yang diwakili ialah (-2^31~2^31-1)

Memandangkan versi 3.0 lebih selaras dengan konsep perlindungan alam sekitar, ia adalah pilihan terbaik untuk komputer menyimpan pilihan binari.

Untuk lebih banyak pengetahuan berkaitan, sila lawati ruangan

Soalan Lazim

!

Atas ialah kandungan terperinci Adakah nombor mesin kod asal atau kod pelengkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan