välkommen give2all.org RSS | Lägg till favoriter | Sitemap

Hur beräknar en dator siffror?

Postad av : Ulf Friberg

Binary

Datorer vända varje nummer i binär. De siffror som vi använder är uttryckta i basen 10. Var 10 1s är lika med 1 tio, lika med varje 10 tiotals 1 hundra, och så vidare. I binär, går du upp en enhet var 2 nummer. SO 2 och kära är lika med 1 två, 2 tvåor lika 1 4, och så vidare. Till exempel skulle antalet 9 ska 1001 i binär: 1 ett, 0 tvåor, fyror 0 och 1 åtta. 1 + 8=9. Datorer gör detta eftersom det är lättare att designa kretsar som bara har värdena 1 eller 0 än kretsar med 10 olika värden varje.

Tillägg

Datorer har grundläggande matematiska operationer som addition och subtraktion programmeras in dem. Lägga i binär är mycket enkel. Om du har 2 siffror med en 1 värde lagrar du en 0 och flytta bära 1. Annars antecknar du det större av de två talen i det facket. Till exempel, om du lägger 5 + 4, får du: 0101 + 0100. I det första facket har du en 1 + 0, så du lagra större antal, 1. I det andra facket, har du två 0: or, så du lagra 0 (eftersom båda numren är desamma. I den tredje facket du har två 1s, så du lagra en 0 och har ett 1. Du sluta med antalet 1001, eller 9.

multiplikation.

Datorer använder lång multiplikation, men de gör det i binär. Om datorn multiplicerar en rad med 1, returneras en 1. Detta är ett mycket enklare system än bas 10, även om det kräver fler steg. Exempelvis i basen 10 problemet 8 * 9 är ett enkelt, 1-stegs problem med inga långa multiplikation. Men i binär varje nummer 4 siffror lång, och lösningen är 7 siffror!

Subtraktion

Subtraktion görs i två steg. Hellre än att subtrahera ett tal, lägger till en binär dator dess komplimang, en rad med sådana där den ursprungliga har nollor, och nollor där originalet har sådana. Till exempel, medan 4 är 0100 i binär, negativ 4 är 1011. Så, för 7-4, får vi 0. 111 + 1. 011=10. 010. Numret på längst till vänster är flyttade sedan till höger och ge oss 0011=3.

    Previous:nothing
    Next:om Chipmunks
    
    Copyright © 2011 give2all.org