Hvad mener vi, når vi siger, at computere bruger nuller og ener?

Bedste svar

Meget gode svar allerede her. For at prøve at tilføje lidt mere til, hvad der allerede er sagt:

En computer bruger den samme idé (dvs. mange on / off signaler) til at gemme / producere resultater. Således “tænker” en computer i ON eller FRA, vi bruger bare repræsentationen af ​​1 til dens TIL og 0 for dens FRA …

For det meste gør det alle disse “smarte” ting gennem meget forenklede matematik – kun ved hjælp af tal. Men det bruger tal på en anden måde som dig eller mig. Vi har tendens til at tænke på tal som 0, 1, 2, 3, … 9, 10 osv. En computer har ikke det privilegium, den kan kun “tænke” på 0 og 1. Men det betyder stadig, at det kan gøre den samme matematik, som vi kan med vores 10 (eller andre) cifre. Årsagen er, at vi på samme måde beslutter at bruge et andet ciffer, at computeren “beslutter” at bruge mere. Dvs. hvad er efter 9? 10, selvfølgelig gentager vi bare et mønster, er vi ikke?

Dette kaldes basen for det talesystem, vi bruger. For eksempel. den normale mennesker bruger er base 10 (eller decimal), og hvad computeren bruger er binær (eller base 2). Så når en computer tæller, tæller den således: 0 => 0 1 => 1 2 => 10 3 => 11 4 => 100 5 => 101 … 9 => 1001 10 => 1010 11 => 1011 osv. .

Der er også andre måder, nogle gange bruger vi dem til at matche computerens metode lidt mere præcist. F.eks. kan vi tælle i hexadecimal – base 16 i stedet for den sædvanlige base 10. I dette tilfælde har 6 ekstra tegn til at tilføje til de mulige cifre. Normalt bruger vi disse (vi kunne også gå med base 8 oktale, eller hvad vi end vælger), fordi de svarer til kræfterne i 2, som et binært system bruger – dvs. basen 16 falder nøjagtigt på magt to (springer over nogle, men falder aldrig på noget, der ikke er en styrke på 2 som base 10-systemet gør). Den største velsignelse ved dette er, at antallet af krævede cifre i hex er proportionalt med antallet af cifre i skraldespand (i dette tilfælde kortlægges hvert ciffer i hex på 4 cifre i skraldespand – meget lettere at konvertere til / fra). Hvis vi bruger hexadecimal (base 16), tæller vi således: Dec => Hex => Bin .. . 9 => 9 => 1001 10 => A. => 1010 11 => B => 1011 … 15 => F => 1111 16 => 10 => 10000 17 => 11 => 10001 … 31 => 1F => 11111 32 => 20 => 100000 33 => 21 => 100001 …

Herfra udføres alle former for matematik stort set på samme måde som du lærte matematik. For eksempel. tilføje 2 tal:

\_\_dec => hex => bin

25 19 11001

+ 16 10 10000

----------------------

31 29 01001

+ 10 100000 (carry)

----------------------

41 29 101001

Den samme type ting gælder for alle matematik, multiplikation, division, subtraktion osv. Og derfra strækker den sig også til yderligere ting som rødder, eksponenter, trig osv. .

Nu er alt andet, der vises af computeren, bare forskellige måder at repræsentere disse tal på. For eksempel. teksten på denne side er bare en flok tal, der hver især får en specifik “forståelse”, idet et specifikt tal repræsenterer et specifikt tegn. En af de vigtigste metoder til kodning af bogstaver er ASCII-sekvensen ( ASCII-tegnkoder og html-, oktal-, hexa- og decimaldiagramkonvertering ). Ved at bogstavet A får tallet 65 (i decimal), således 41 (hex) og 1000001 (bin).

Men normalt skal sådanne tal opdeles, ellers ved vi ikke, hvor en starter og en anden stopper – computere har ikke engang privilegiet at bruge mellemrum. For at omgå dette bruger computeren indstillede grupper med binære cifre. Normalt i grupper på 8 (kaldet Bytes), da dette i sig selv er en styrke på 2 og giver en rimelig anstændig mængde mulige tegn (256 muligheder). Hvis antallet er lavt, er den øverste del bare fyldt med 0s. Så faktisk ville et A blive gemt i en computer som 01000001 og polstrede det første ikke-nødvendige ciffer med en 0. Der er også andre måder, f.eks. UTF8 siger grundlæggende: “Hvis den første bit er en 1, så er der yderligere 8 cifre efter denne, som derefter udvider koden til at omfatte endnu flere muligheder”.

Og til sidst ting som grafik / billeder / 3d / lyd / osv. Er alle også bare kodet ved at give hver variant et andet nummer at vise. F.eks. Er farverne, der vises på denne skærm, sammensat af små prikker, der hver har en specifik farve (normalt kodet i noget som RGB – Rød / Grøn / blå intensitet som et tal fra 0 til (siger) 255 for hver).

Det bliver endnu vigtigere, når vi begynder at se på de handlinger, en computer kan udføre. Disse er også bare “tal” kodet for at betyde forskellige “ting skal ske”. F.eks. kan computerens CPU have et instruktions sæt (dvs. en miljøkodning af forskellige mulige handlinger) hvor en af ​​dem er instruktionen om at tilføje tal sammen, en anden til at trække fra, en anden til bytte dem fra 1s til 0s og visa versa osv. osv.Dette er hvad “software” består af – de on / off signaler, vi ser som analoge til 1 og 0, i mønstre, der passer til de handlinger, softwaren har brug for, at CPUen skal udføre.

Men da det hele starter fra det on / off, som fortolkes som enten 1 eller 0 … en computer bruger bare 1s og 0s. Det gør det bare ved at se på mønstrene på 1ere og 0ere, der følger hinanden. Mønsteret er det, der giver 1 og 0 “betydning”, de har alene en meget begrænset betydning.

Svar

Det betyder normalt, at vi ikke forstår computere.

Seriøst.

Hvis du vil se, hvorfor det er forvirrende, skal du ikke lede længere end afbryderen på din computer. Ser du det sjove trident symbol? Har du nogensinde spekuleret på, hvad det betyder?

At “sa 1 overlejret på en 0.

Hvorfor?

Tilbage på de tidligste IBM-pcer var der en stor, klodset vippekontakt mærket noget som:

1 – Til 0 – Fra

Over tid blev switchene mindre og blev til sidst knapper, hvilket betyder, at alt det ordlyd var meningsløst, så vi fik symbol, som alle ved, men ingen forstår.

Det er stort set alt hvad du behøver at vide om dette spørgsmål: Computere er lidt dumme eller i det mindste dovne.

Men det ” s er ikke tilfredsstillende, formoder jeg. den interne switch.

Men det er mere gennemgribende end dette. Hvis du krymper inde i computeren, har mikrochipsne transistorer i dem, som er (fortæl venligst ikke nogen elektriske ingeniører, jeg sagde dette), som små kontakter. De slipper strømmen igennem (tændt) eller de slipper ikke ), og de “er arrangeret til at udføre arbejdet med at behandle data. Før vi havde transistorer bredt tilgængelige, brugte vi relæer til samme formål, afbrydere for at gemme en tilstand, på samme måde som din lyskontakt” husker “, at du ville have lysene til.

Når vi taler om de data, der behandles, vil vi aflæse transistorernes tænd / sluk-tilstand (slags; jeg forenkler her, men hvis du vil slå op hvordan computerhukommelse fungerer, jeg venter her), vi vil have noget mere kompakt end “til, til, fra, til, til, fra, fra, fra.” Jeg touch-type og lavede omkring et halvt dusin fejl ved at skrive det, selv uden nogen specifik værdi i tankerne, hvis du vil forstå, hvorfor det ikke skulle flyve. Derfor skriver vi dem faktisk som nuller og som f.eks. 11011000.

Men selv det er kedeligt, så vi kan gruppere bits (binære cifre) i grupper på tre, som er oktale (base-8) tal, 330 i dette sag. Det er forvirrende, så mere sandsynligt bruger vi hexadecimal (base-16) tal, der svarer til fire bits, D8 her.

Brug af kræfter på to er nyttigt, fordi det betyder (hvis vi er på en primitiv computer, hvor dette er levedygtigt), at vi kan se på signalerne på linjerne i en gruppe. Fremstillingerne ovenfor er nyttige, mens 216 (decimalrepræsentationen) ikke ville være til stor nytte for den person, der beskæftiger sig med computeren.

Men for at komme tilbage til det punkt, gør computeren ikke det brug alt andet end on-off-tilstande, som vi fortolker som nuller og ender, hexadecimale cifre, tal, tegn (bogstaver, cifre, symboler og mellemrum), instruktioner og et vilkårligt antal andre ting. Computeren har dog ingen idé om denne fortolkning.

Nå, du kan argumentere for, at instruktionerne faktisk forstås, da on-off-stater faktisk tvinger en beslutning om, hvad de skal gøre næste gang. Men bestemt ikke resten.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *