heltalsrepresentation

principen att alla tal som behandlas i en dator måste ha formen av positiva heltal. Detta gäller för datorns inre arbete, inte för vad användaren ser. Anledningen är att när tal ska behandlas som maskinkod finns det inget tecken som står för minustecken eller decimalkomma – alla kombinationer av ettor och nollor är nämligen upptagna, eftersom alla står för hela tal. Man måste därför ta till knep för att representera negativa tal och tal med decimaler. Vilket knep som ska användas anges genom typning:

  • – för negativa tal gör man så att man delar in talmängden som datorn kan hantera (se ordlängd) i två delar: de låga talen står för positiva heltal och de höga talen står för negativa heltal. Det finns sedan sätt att utföra matematiska operationer med positiva tal (=låga tal) och negativa tal (=höga tal) så att resultatet blir rätt – se tvåkomplementsform;
  • – för tal med decimaler används flyttalsrepresentation: alla tal noteras med lika många siffror, uppdelade i två delar. Den första delen anger så många siffror som möjligt i talet (antalet är ju begränsat), den andra delen anger hur många av siffrorna som ska stå efter decimalkommat;
  • – för potensräkning (”upphöjt till”) används en representation som liknar den som används för decimaler.

– På engelska: integer representation.

[matematik] [programmering] [ändrad 7 januari 2019]

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 för kodning av talen 0–63 med 64 olika tecken. – Base 64 använder det engelska alfabetets stora och små bokstäver, siffertecknen 0—9 samt tecknen + och / för att skriva talen 0–63. 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 skriva ut 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] [ändrad 2 november 2021]

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]