tvåkomplementsform

ett sätt att ange positiva och negativa tal med binär representation så att man kan göra beräkningar. Förutsättningen är att det inte går att ange minustecken: negativa tal måste därför anges som positiva tal på ett sätt som gör att man ändå kan göra matematiska beräkningar och få rätt svar:

  1. – Tvåkomplementsform förutsätter att alla tal i beräkningen skrivs med samma antal binära siffror (ettor och nollor). I följande exempel används åtta binära siffror, men det går bra med vilket antal som helst. Det största tal som kan skrivas med åtta binära siffror är ”11111111” (=255). Om en beräkning ger ett resultat som blir 256 eller mer ”slår kilometerräknaren om”, så efter ”11111111” kommer ”00000000”. Med vanliga decimala siffror: 255 följs av 0;
  2. – Positiva tal måste i tvåkomplementsform börja med 0. Det innebär att det största positiva tal som i tvåkomplementsform kan skrivas med åtta binära siffror är ”01111111” (=127). Positiva tal noteras som vanligt, fast alltid med så många nollor i början som behövs för att det ska bli åtta binära siffror;
  3. – Negativa tal börjar med 1. Man räknar baklänges från 256. Talet -1 skrivs i tvåkomplementsform som ”11111111” (=255), -2 blir ”11111110” (=254) och så vidare. Det minsta negativa tal som kan skrivas med åtta binära siffror blir alltså ”10000000” (=128), som här alltså står för -128;
  4. – Subtraktion görs sedan genom addition: det positiva talet adderas till det negativa. – Exempel (med decimala siffror): 10-3=7 blir i tvåkomplementsform 10+253=263 – men eftersom räkneverket ”slår om” till 0 vid 256 blir resultatet 263-256=7, vilket är rätt. Summan av ett positivt tal och samma negativa tal blir alltid 256, det vill säga noll.

– På engelska: two’s complement.

[matematik] [programmering] [ändrad 5 december 2020]

signedness

om siffervärden i programmering: egenskapen att vara signerad, det vill säga det att ett tal markeras som positivt eller negativt. På svenska förekommer översättningen signeradhet. – Se signerad datatyp.

[matematik] [programmering] [3 september 2018]

Base 64

system kodning av binära sifferserier med 64 olika tecken. Man använder det engelska alfabetets stora och små bokstäver, siffertecknen 0—9 samt tecknen + och /. Noll blir ”A”, ett blir ”B” och så vidare till ”Z” för tjugofem. Sedan anges tjugosex med ”a” och så vidare till ”z” för femtioett. Femtiotvå anges med ”0” och så vidare till ”9” för sextioett. ”+” står för sextiotvå och ”/” för sextiotre. Sextiofyra blir ”BA”. – Base 64 är ett utrymmesbesparande sätt att koda sekvenser av ettor och nollor. Man tar sex ettor och nollor i taget och kodar om dem till ett tecken i Base 64. – Skrivs också base64 eller Base‑64. – Läs mer i RFC nummer 4648 (länk). – Jämför med Base 32, hexadecimal och oktal.

[matematik] [programmering] [rfc] [25 februari 2018]

Base 32

system för att koda binära sifferserier med 32 olika tecken. Man använder det engelska alfabetets bokstäver och siffertecknen 2—7. Noll blir ”A”, ett blir ”B” och så vidare till ”Z” för tjugofem. Sedan anges tjugosex med ”2” och så vidare till ”7” för trettioett. Trettiotvå blir ”BA”. – Base 32 är ett utrymmesbesparande sätt att koda sekvenser av ettor och nollor. Man tar fem ettor och nollor i taget och kodar om dem till ett tecken i Base 32. Detta görs normalt av ett program. – Skrivs också base32 eller Base-32. – Läs mer i RFC nummer 4648 (länk). – Jämför med Base 64, hexadecimal och oktal.

[matematik] [programmering] [rfc] [ändrad 1 januari 2021]

Merkleträd

(Merkle tree) – ett antal dokument eller annan information som skyddas mot manipulation av  kondensat i en trädformad struktur. – I Merkleträdets löv eller slutnoder (de nedersta och yttersta noderna i det upp‑och‑nervända trädet) finns de dokument eller den information som ska skyddas. Varje löv innehåller också ett kondensat av sitt innehåll. Varje löv har en gren (kant) till en nod en nivå högre upp i trädet: vanligtvis går det två löv på varje närmast högre nod, men det kan vara tre eller fler. Den högre noden innehåller ett kondensat av de två (eller fler) lövens kondensat. På samma sätt har de högre noderna grenar till noder på närmast högre nivå, och där beräknas på samma sätt kondensat av kondensaten på de två (eller fler) närmast underordnade noderna. Överst i Merkleträdet finns en toppnod som innehåller ett kondensat av de närmast underordnade noderna, alltså ett kondensat av kondensat av kondensat hela vägen ner till trädets löv. – Om innehållet i de nedersta noderna (löven) ändras på något sätt förändras också kondensaten. Det är alltså möjligt att upptäcka ändringar genom att upprepa beräkningen av kondensaten. – Merkleträdet utvecklades och patenterades 1979 av den amerikanska datorvetaren Ralph Merkle (merkle.com).

[kryptering] [matematik] [ändrad 7 oktober 2019]

operator

  1. – i matematik och programmering: tecken som står för en logisk eller matematisk operation. De vanliga matematiska tecknen som +, – och × är operatorer, liksom de tecken som används i logik. Operatorer behöver inte vara speciella tecken, utan kan skrivas med vanliga bokstäver, vilket är det vanliga i programmering. Operatorer måste ha en eller flera operander, alltså värden som operationen ska utföras på:
    • Unära operatorer har bara en operand, till exempel negation¬A står i logik för icke A – ”påståendet A är inte sant”;
    • Binära operatorer har två operander. Tecknen för de fyra räknesätten har två operander, till exempel 2+2=4. Det kan invändas att vi kan addera många tal – 2+2+2+2+2=10 –, men det är en kedja av binära ope­ra­tioner: (((2+2)+2)+2)+2). Inom logik anges konjunktion, dis­junk­tion, implikation och ekvivalens också med binära operatorer;
    • Ternära operatorer har tre operander.
      – Inom programmering går det att införa operatorer med de egen­skaper man önskar.
  2. – engelska för operatör. – Engelska operator har en bredare användning än svenska operatör: det kan till exempel betyda telefonist, maskinskötare, tekniker.

[matematik och logik] [programmering] [ändrad 24 juni 2021]