1.Kode asli
Bit tertinggi digunakan sebagai bit tanda (0 mewakili positif, 1 mewakili negatif), dan bit sisanya mewakili nilai absolut dari nilai itu sendiri (dinyatakan dalam biner).
Untuk mempermudah, kami menggunakan 1 byte untuk mewakili bilangan bulat.
Kode asli +7 adalah: 00000111
Kode asli -7 adalah: 10000111
2. Kode terbalik
Jika suatu bilangan positif, komplemennya sama dengan kode aslinya; jika suatu bilangan negatif, bit tandanya adalah 1, dan bit sisanya adalah inversi dari kode aslinya.
Untuk mempermudah, kami menggunakan 1 byte untuk mewakili bilangan bulat:
Komplemen dari +7 adalah: 00000111
Komplemen dari -7 adalah: 11111000
3. Kode pelengkap
Kode komplemen: Jika suatu bilangan positif, kode aslinya, kode komplemennya, dan komplemennya sama; jika suatu bilangan negatif, bit tandanya adalah 1, dan bit sisanya adalah inversi dari kode aslinya, dan kemudian keseluruhannya. nomor ditambah 1. Untuk mempermudah, kami menggunakan 1 byte untuk mewakili bilangan bulat:
Komplemen dari +7 adalah: 00000111
Komplemen dari -7 adalah: 11111001
Diketahui komplemen suatu bilangan negatif, ubahlah bilangan tersebut menjadi bilangan desimal Langkah-langkahnya:
1. Pertama, saya akan menentang Anda;
2. Ubah menjadi angka desimal;
3. Tambahkan tanda negatif dan kurangi 1.
Misalnya:
11111010, bit tertinggi adalah 1, yang merupakan bilangan negatif. Pertama, negasikan setiap bit untuk mendapatkan 00000101, ubah menjadi bilangan desimal untuk mendapatkan 5, tambahkan tanda negatif untuk mendapatkan -5, lalu kurangi 1 untuk mendapatkan -6.
Mengapa angkanya negatif ketika saya memasukkan int a=232; ke tipe byte? ? ?