tillägget av binära tal är en något udda processer, och till en början kan verka något förvirrande. Men i sanning liknar det mycket tillägget av decimaltal som vi lärs ut som en del av elementär matematik – med det uppenbara undantaget att vi arbetar med två siffror snarare än tio!
för att börja tänka på tillägg i binära termer, låt oss titta på det binära tillägget av två 1-bitars värden – den enklaste formen av tillägg vi kan föreställa oss:
tabellen ovan representerar de grundläggande logiska reglerna för binär addition. Siffrorna till vänster om tabellen representerar de binära värdena vi försöker lägga till, och siffrorna till höger representerar resultatet av detta tillägg. Detta kan vara meningsfullt bortsett från den konstiga bärkolonnen som plötsligt har dykt upp!
bärkolumnen anger resultat där vi har överskridit det belopp vi kan representera med bara en bit. Att ha en extra bit för att representera detta fungerar som en mekanism för att flytta (eller bära) överskridande värden till nästa enhetskolumn (i binära är dessa enheter kolumner 1, 2, 4, 8… etc) vid beräkning av tillägg. Intuitivt kan du tänka på detta på samma sätt som vi kan’ bära ’ decimalvärden i deras nästa enhetskolumn (1, 10, 1000… etc) vid beräkning av decimaltillägg för hand.
men hur är det med att implementera detta som hårdvara? Tja, eftersom tilläggsmetoden använder grundläggande logik kan den konstrueras som en digital krets representerad av blockschemat nedan.
denna krets tar två 1-bitars binära värden som ingångar (a & B), matar ut ett resultat (R) och bärvärde (eftersom bär är en utgång från resultatet vi kallar det ’utföra’, eller Cout för kort). Detta beteende är vad som definierar en ’halv huggorm’ – en mekanism för att göra det möjligt för oss att utföra 1-bitars binär addition.