Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Negatieve Getallen in Binair: Sign-Magnitude, Complement en Two's Complement

Aftrekken kan worden omgezet in optellen door de subtrahend als negatieve waarde te behandelen; bijvoorbeeld 7 − 5 wordt 7 + (−5).

Eenmaal positieve binaire representatie beheerst, is de volgende stap het coderen van negatieve getallen zodat aftrekken met dezelfde optelroutine kan worden uitgevoerd.

In decimaal voegt een minteken de meest significante digit toe (bijv. −5). In binaire hardware hebben we slechts twee toestanden – hoog of laag – dus we moeten het teken coderen binnen het bitpatroon zelf.

In deze context hebben we geen derde symbool zoals een "min" teken. Een oplossing is een bit reserveren die het wiskundige teken vertegenwoordigt:

Negatieve Getallen in Binair: Sign-Magnitude, Complement en Two s Complement

Bits gebruiken voor doeleinden buiten hun positionele gewicht kan leidt tot verwarring; bijvoorbeeld kan 1101₂ als dertien gelezen worden tenzij de leidende bit als teken wordt behandeld.

Eerst bepaal de totale bitbreedte die nodig is om de grootste magnitude te accommoderen, en zorg dat alle bewerkingen binnen die breedte blijven.

In het onderstaande voorbeeld beperken we het bereik tot −7 (1111₂) tot +7 (0111₂) door de meest significante bit als teken te behandelen, waardoor misinterpretatie wordt voorkomen.

−5 coderen als 1101₂ illustreert het sign-magnitude systeem, waar de leidende bit het teken aanduidt in plaats van waarde, ruilend positionele zuiverheid voor praktijk.

De meest significante bit geeft het teken aan; de overige bits behouden standaard positionele waarden (machten van twee).

Complementatie

Hoewel sign-magnitude conceptueel eenvoudig is, bemoeilijkt het binaire optelling. Hoe voeg je −5 (1101₂) toe aan een ander getal met gewone optelling?

Een aangepast optelalgoritme creëren ondermijnt het doel; het zou gelijk zijn aan schriftelijk aftrekken, wat elk computationeel voordeel tenietdoet.

Een alternatief – complementatie – stelt negatieve getallen in staat om met de standaard binaire optelmethode te worden opgeteld en past natuurlijk bij positionele gewichten.

In dit schema deelt de meest significante bit nog steeds het bereik af, maar draagt nu een negatief plaatsgewicht (bijv. −8). Bijvoorbeeld, −5 wordt als volgt gecodeerd:

Negatieve Getallen in Binair: Sign-Magnitude, Complement en Two s Complement

Met de drie rechter bits die magnitudes van 0 tot 7 kunnen voorstellen, en de linkermost bit die of 0 of −8 vertegenwoordigt, kunnen we elk gehele getal van −7 (1001₂ = −8 + 1 = −7) tot +7 (0111₂ = 0 + 7 = 7) voorstellen.

Positieve waarden blijven ongewijzigd, maar negatieve waarden vereisen de complement-bewerking.

Negatieve Getallen in Binair: Sign-Magnitude, Complement en Two s Complement

Negatieve binaire getallen in de rechterkolom zijn de som van de drie rechter bits plus de negatieve acht van de linkermost bit, dus ze volgen niet dezelfde progressie als de positieve getallen.

In plaats daarvan moeten de drie rechter bits zo ingesteld worden dat, wanneer ze opgeteld worden bij de negatieve-acht plaatswaarde, ze de gewenste negatieve totaal opleveren.

Two's Complement

De drie rechter bits zijn het two's complement van de positieve tegenhanger. Bijvoorbeeld:

Negatieve Getallen in Binair: Sign-Magnitude, Complement en Two s Complement

Met de negatief-gewichtsbit als de vierde bit (−8), is het two's complement voor elk positief getal de waarde die nodig is om bij −8 op te tellen om het negatieve equivalent van dat getal te verkrijgen.

Het berekenen van een two's complement is simpel: keer alle bits om (het one's complement) en tel één op. Bijvoorbeeld, om het two's complement van vijf (101₂) te verkrijgen, keere eerst om naar 010₂, tel dan één op om 011₂ te krijgen, wat −5 vertegenwoordigt in drie-bit two's complement.

Het genereren van het two's complement werkt hetzelfde als je alle bits manipuleert, inclusief de meest significante bit, tegelijk. Bijvoorbeeld, 0101₂ (vijf) converteren naar negatieve vijf:

Keer alle bits om → 1010₂; tel één op → 1011₂, wat −5 vertegenwoordigt in vier-bit two's complement.

Het is cruciaal dat de positie van de negatief-gewichtsbit vaststaat vóór elke two's complement conversie. Als de achtste bit de negatief-gewichtsbit was (10000000₂), zou het two's complement van 0000101₂ 1111011₂ zijn, wat −5 vertegenwoordigt in acht-bit two's complement.

Dus in een acht-bit systeem is +5 = 00000101₂ en −5 = 11111011₂.

GERELATEERDE WERKBLADEN:

  • Binaire Rekenkunde Werkblad

Industriële technologie

  1. 3-Bit Binaire Teller met 555 Timer en 4027 Flip-Flops
  2. Cijfers en Symbolen in Elektronica Ontcijferen
  3. Octaal en Hexadecimaal: Praktische Gids voor Ingenieurs
  4. Getallen vs Numeratie: Het Verschil en de Praktische Impact
  5. Binaire Aftrekken met Two's Complement
  6. Negatieve Feedback in Op‑Amps Begrijpen: Spanningsvolgers en Stabiliteit
  7. Je eerste Go-applicatie bouwen op PLCnext: Een beginnergids
  8. Numerieke Typen in C++ Beheersen: Een Praktische Gids
  9. MATLAB Getallen: Typen, Opslag en Conversie
  10. Python Numbers: Immutable Numerieke Datatypes Begrijpen
  11. Java Collection-algoritmes: Sorteren, shuffelen en meer