Carry Flag vs. Overflow Flag (binær multiplikation) - Alle forskelle

 Carry Flag vs. Overflow Flag (binær multiplikation) - Alle forskelle

Mary Davis

Binær multiplikation er lidt anderledes end den multiplikation, du lærte i folkeskolen. Ved binær multiplikation kan to flag bruges til at angive en fejl: carry-flaget og overløbsflaget.

Binær multiplikation er en metode til at gange to binære tal sammen. Binære tal er tal, der kun består af to cifre: 0 og 1. De er grundlaget for al digital teknologi og bruges i alt fra computere til mobiltelefoner.

Flag i binær multiplikation er som hjælpemidler, der holder styr på, hvad der foregår i operationen. Der er fire vigtige flag i binær multiplikation: carry-flaget, overløbsflaget, fortegnsflaget og nulflaget.

Overføringsflaget er en bit, der sættes, når en aritmetisk operation resulterer i en overførsel af den mest betydningsfulde bit. Ved binær multiplikation sættes overføringsflaget, når resultatet af multiplikationen er for stort til at passe ind i destinationsregistret.

Overflow-flaget er en bit i et CPU-register, der angiver, hvornår der er opstået et aritmetisk overflow. Et aritmetisk overflow opstår, når resultatet af en aritmetisk operation er for stort til at blive repræsenteret på den tilgængelige plads.

I denne artikel vil vi undersøge forskellen mellem de to typer flag, og hvordan de bruges i binær multiplikation.

Binære tal udgør en stor del af programmeringen.

Binær multiplikation

Ifølge kilder er binær multiplikation en metode til at gange to binære tal sammen. Ved binær multiplikation multipliceres hvert ciffer i det første tal med hvert ciffer i det andet tal, og resultaterne lægges sammen. .

Binære tal er tal med kun to cifre: 0 og 1. De er grundlaget for al digital teknologi og bruges i alt fra computere til mobiltelefoner.

Binære tal er baseret på to tal, fordi de er nemme at arbejde med ved hjælp af kun to cifre. Computere bruger binære tal, fordi de nemt kan repræsenteres ved hjælp af de to tilstande, som en computers afbrydere har: tændt og slukket. Med andre ord er binære tal en praktisk måde at repræsentere output fra en computers afbrydere på.

Binære tal anvendes også i digitale enheder som mobiltelefoner og digitalkameraer. I disse enheder anvendes binære tal til at repræsentere de to tilstande for hver pixel på enhedens display. Et digitalkamera anvender f.eks. binære tal til at repræsentere pixelerne i det billede, det tager. Hver pixel er enten tændt eller slukket,

Lad os f.eks. sige, at vi ønsker at gange de binære tal 101 og 11. Vi starter med at gange det første ciffer i det første tal (1) med hvert ciffer i det andet tal (1 og 0). Dette giver resultaterne 1 og 0. Vi ganger derefter det andet ciffer i det første tal (0) med hvert ciffer i det andet tal (1 og 0). Dette giver resultaterne 0 og 0.

Endelig ganges det tredje ciffer i det første tal (1) med hvert ciffer i det andet tal (1 og 0). Dette giver resultaterne 1 og 0. Når vi lægger alle resultaterne sammen, får vi 1+0+0+0, hvilket er lig med 1.

Binær multiplikation er en relativt enkel proces, men den kan forvirre dem, der ikke kender til binære tal. Hvis du har brug for hjælp til at forstå binær multiplikation, er der flere ressourcer online, der kan hjælpe dig. Med lidt øvelse burde du kunne mestre denne proces på ingen tid.

Hvad er flag?

Binær multiplikation er lidt anderledes end det, du måske er vant til fra decimalmultiplikation. Ved decimalmultiplikation kan du blot gange to tal sammen og få svaret. Ved binær multiplikation er det lidt mere kompliceret end det. Ved binær multiplikation kaldes hvert ciffer i det tal, der ganges, for et "flag".

Det første flag er den mindst betydningsfulde bit (LSB), og det sidste flag er den mest betydningsfulde bit (MSB). Hvis du vil gange to binære tal sammen, skal du gange hvert flag i det første tal med hvert flag i det andet tal.

Flags i binær multiplikation er som hjælpemidler, der holder styr på, hvad der sker i operationen. Der er fire vigtige flag i binær multiplikation:

  • Overførselsflag
  • Overløbsflag
  • Tegnflaget
  • Nul-flaget

Overføringsflaget sættes, når der er en overførsel af den mest betydningsfulde bit i multiplikationen. Overløbsflaget sættes, når multiplikationsresultatet er for stort til at passe ind i den tildelte plads. Tegnflaget sættes, når resultatet af multiplikationen er negativt. Og nulflagene sættes, når resultatet af multiplikationen er nul.

Funktionen af hvert flag er opsummeret i følgende tabel:

Flag Funktion
Overførselsflag Sættes, når det ikke-fortegnede resultat af multiplikationen er for stort til at passe i destinationsregistret.
Overløbsflag Sættes, når det signerede resultat af multiplikationen er for stort til at passe i destinationsregistret.
Skilt flag Bruges til at angive, om resultatet af den sidste matematiske operation gav en værdi, hvor den mest betydningsfulde bit (den mest venstre bit) var sat.
Nul-flag Anvendes til at kontrollere resultatet af en aritmetisk operation, herunder bitvise logiske instruktioner

Matematikeren Charles Babbage

Hvad er carry-flaget?

Ifølge kilder er carry-flaget en bit, der sættes, når en aritmetisk operation resulterer i en carry out af den mest signifikante bit. Ved binær multiplikation sættes carry-flaget, når resultatet af multiplikationen er for stort til at passe i destinationsregistret.

Hvis du f.eks. multiplicerer to 8-bit tal, og resultatet er et 9-bit tal, vil carry-flaget blive sat. Carry-flaget bruges ofte til at opdage overløbsfejl i aritmetiske operationer. Hvis carry-flaget er sat, er resultatet af operationen for stort og er løbet over.

Nogle siger, at matematikeren Charles Babbage opfandt carry-flaget i 1864. Babbage er bedst kendt for sit arbejde med differencemaskinen, en mekanisk computer, der kunne udføre beregninger.

Babbage's arbejde med carry-flaget blev offentliggjort i en artikel med titlen "On the Application of Machinery to the Computation of Mathematical Tables" (Om anvendelsen af maskiner til beregning af matematiske tabeller).

Andre siger, at IBM faktisk opfandt det i 1960'erne som en del af deres System/360-computerserie. IBM's carry flag blev standard for andre computerproducenter og bruges stadig i moderne computere i dag.

Intel 8086-processor

Hvad er overløbsflaget?

Overflow-flaget er en bit i et CPU-register, der angiver, hvornår der er opstået et aritmetisk overløb. Et aritmetisk overløb opstår, når resultatet af en aritmetisk operation er for stort til at blive repræsenteret på den tilgængelige plads. Overflow-flaget sættes til 1, hvis der opstår et overløb, og det sættes til 0, hvis der ikke opstår et overløb.

Overflow-flaget kan bruges til at opdage fejl i aritmetiske operationer. Hvis resultatet af en addition f.eks. er for stort til at passe ind i registret, er der sket et overløb, og overflow-flaget sættes til 1.

I nogle tilfælde kan overløbsflaget bruges til sin fordel. F.eks. kan overløb af aritmetiske heltal med fortegn bruges til at implementere wraparound-aritmetik. Wraparound-aritmetik er en type aritmetik, der "wraparound", når resultatet af en operation er for stort eller for lille til at blive beregnet.

Overflow-flag bruges i en række forskellige situationer. De kan bruges til at angive, når en aritmetisk operation resulterer i en værdi, der er for stor eller for lille til at blive repræsenteret korrekt. De kan også angive, når en værdi er blevet afkortet, eller data er gået tabt under konverteringen. I nogle tilfælde kan overflow-flag bruges til at opdage fejl i hardware eller software.

Se også: Forskellene mellem en guvernør og en borgmester (ja, der er nogle!) - Alle forskellene

Det er et spørgsmål, der har forvirret computerforskere i årevis. Overflow-flaget er en vigtig komponent i moderne computerprocessorer, men dets oprindelse er omgærdet af mystik. Nogle mener, at det blev brugt første gang i computerens tidlige dage, mens andre mener, at det blev opfundet i 1970'erne.

Overflow-flaget blev først indført i Intel 8086-processoren, som blev lanceret i 1978. Konceptet med et overflow-flag stammer dog fra endnu tidligere processorer. PDP-11, som blev lanceret i 1970, havde f.eks. en lignende funktion kaldet carry bit.

Forskellen mellem et overførselsflag og et overløbsflag?

Binær multiplikation er processen med at gange to binære tal sammen. For at kunne gøre dette skal du kende de binære cifre (bits), som hvert tal består af. Overføringsflaget og overløbsflaget er to vigtige bits, der bruges i binær multiplikation.

Overføringsflaget bruges til at angive, når der sker en overførsel ved binær multiplikation. En overførsel sker, når resultatet af en multiplikation er for stort til at passe ind i det tildelte antal bits. Hvis du f.eks. multiplicerer to 8-bit tal, og resultatet er 9-bit, er der sket en overførsel.

Overflow-flaget bruges til at angive, når der opstår et overløb i binær multiplikation. Et overløb opstår, når resultatet af en multiplikation er for lille til at passe ind i det tildelte antal bits. Hvis du f.eks. multiplicerer to 8-bit tal, er resultatet 7-bits. Et overflow-flag bruges også, når resultatet er negativt. Hvis vi f.eks. multiplicerer to 8-bit tal, og resultatet er-16 bit, skal vi sætte overløbsflaget.

Kort sagt bruges carry-flaget til at angive, at en aritmetisk operation har resulteret i en carry out af den mest betydningsfulde bit. Det betyder, at operationen har givet et resultat uden fortegn, der er for stort til at blive repræsenteret i det givne antal bits. Hvis du f.eks. lægger to 8-bit tal sammen, og resultatet er på 9 bits, vil carry-flaget blive sat.

Overløbsflaget bruges derimod til at angive, at en aritmetisk operation har resulteret i et signeret tal, der er for lille eller for stort til at blive repræsenteret i det givne antal bits. Vi kan derfor kalde et carry-flag for det omvendte af et overløbsflag.

Se denne video for at få mere at vide om forskellen mellem et carry- og et overløbsflag:

Overløbs- og overførselsflag

Hvad er et carry-flag i assembler?

Ifølge kilder er carry-flaget et statusflag i en CPU, der angiver, hvornår der er sket et aritmetisk carry eller lån. Det bruges normalt sammen med add- og subtraktionsinstruktionerne. Når en add- eller subtraktionsinstruktion udføres, sættes carry-flaget til 0, hvis der ikke er sket noget carry eller lån, eller til 1, hvis der er sket et carry eller lån.

Overføringsflaget kan også bruges til bitforskydningsoperationer. Hvis overføringsflaget f.eks. er sat til 1, og der udføres en bitforskydningsinstruktion, vil resultatet være, at bitsene forskydes en plads til venstre, og overføringsflaget vil blive sat til værdien af den bit, der blev forskudt ud.

Hvordan ved jeg, om mit flag er et overløb?

Hvis du udfører binær multiplikation, og du ender med et tal, der er for stort til at få plads på den tildelte plads, kaldes det et overløb. Når det sker, ender du normalt med en masse nuller i slutningen af dit resultat.

Hvis du f.eks. multiplicerer 11 ( 1011 i binært format) med 11 ( 1011 i binært format), bør du få 121 ( 1111001 i binært format). Hvis du imidlertid kun har fire bits at arbejde med, ender du med kun nuller i slutningen, som her: 0100 (overløb).

Konklusion

  • Binær multiplikation er en metode til at gange to binære tal sammen. Ved binær multiplikation ganges hvert ciffer i det første tal med hvert ciffer i det andet tal, og resultaterne lægges sammen. Binære tal er tal, der kun består af to cifre: 0 og 1.
  • Der er fire vigtige flag i binær multiplikation: carry-flaget, overløbsflaget, tegnflaget og nulflaget.
  • Overføringsflaget bruges til at angive, at en aritmetisk operation har resulteret i en overførsel af den mest betydningsfulde bit. Det betyder, at operationen har givet et resultat uden fortegn, der er for stort til at blive repræsenteret i det givne antal bits.
  • Overflow-flaget bruges til at angive, at en aritmetisk operation har resulteret i et signeret tal, der er for lille eller for stort til at blive repræsenteret i det givne antal bits. Derfor kan vi kalde et carry-flag for det omvendte af et overflow-flag.

Relaterede artikler

Hvad er forskellen mellem en Nissan Zenki og en Nissan Kouki? (Besvaret)

Se også: Hvad er forskellen mellem et 2032-batteri og et 2025-batteri (fakta) - Alle forskelle

Koordinering vs. ioniske bindinger (sammenligning)

Filosof vs. filosof (sondringer)

Mary Davis

Mary Davis er en forfatter, indholdsskaber og ivrig forsker med speciale i sammenligningsanalyse om forskellige emner. Med en grad i journalistik og over fem års erfaring på området, har Mary en passion for at levere upartisk og ligetil information til sine læsere. Hendes kærlighed til at skrive begyndte, da hun var ung og har været en drivkraft bag hendes succesfulde karriere som forfatter. Marys evne til at researche og præsentere resultater i et letforståeligt og engagerende format har gjort hende elsket af læsere over hele verden. Når hun ikke skriver, nyder Mary at rejse, læse og tilbringe tid med familie og venner.