Kako pretvoriti negativne brojeve u binarne

Posted on
Autor: Laura McKinney
Datum Stvaranja: 7 Travanj 2021
Datum Ažuriranja: 12 Svibanj 2024
Anonim
Pretvaranje dekadnih brojeva u binarne
Video: Pretvaranje dekadnih brojeva u binarne

Sadržaj

Budući da sustav binarnih brojeva ima samo dva simbola - 1 i 0 - predstavljanje negativnih brojeva nije tako jednostavno kao dodavanje znaka minus ispred. Postoje, međutim, jednostavni načini predstavljanja negativnog broja u binarnom obliku. Ovaj će članak ponuditi tri rješenja za taj problem.


Upotrijebite bitni znak

    Odaberite broj bita koji ćete koristiti za predstavljanje svojih binarnih brojeva. Osmo-bitni broj dugo se koristi kao standard. Bila je prvotna veličina za cijeli broj u računalnom programiranju. Naravno, postoje i dugi cijeli brojevi (16 bita). Napomena: ako koristite osam-bitni cijeli broj, tada će se za prikaz vašeg stvarnog broja upotrijebiti samo sedam bita.

    Odaberite bit s lijeve strane koji će služiti kao bitni znak. Ako je bit 0, broj je pozitivan. Ako je 1, broj je negativan.

    Upišite negativni broj koristeći svih osam bita. Stoga bi broj -5 bio napisan kao 10000101.

Koristeći 1s kompliment

    Zapišite broj u binarnom obliku onako kako biste željeli. Opet napišite 5 kao 00000101, uz pretpostavku da koristimo osmostruke brojeve.

    Invertira znamenke - tj. 1 idu u 0, a u 1. Stoga 5 postaje 11111010.

    Kao bitni znak koristite krajnji lijevi zavoj. Kao i kod upotrebe znaka, pozitivni brojevi će imati 0 vodećih bita (kada se pišu u 8-bitnom formatu), dok će svi negativni brojevi sadržavati vodeći 1. Da biste koristili broj, upotrijebite informacije o bitnom znaku i prebacite znamenke za numeričku vrijednost.


Koristeći 2s kompliment

    Upišite broj onako kako biste željeli da je pozitivan, koristeći svih osam bita. Dakle 5 je 00000101.

    Invertite bitove, prebacujući 1 i 0 kao što ste učinili s 1 komplimentom. Dakle, 5 opet postaje 11111010.

    Dodajte 1 svom broju. Tako 5 postaje 11111010 + 00000001 = 11111011.

    Provjeri svoj odgovor. Broj 11111011 pretvorio bi se u bazu 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.