Innehållsförteckning:
Video: Begrepp inom programmering 2024
Du behöver inte lyckas programmera någon digital enhet genom att skriva lågnivåkod, bläddra omkopplare eller lödning ledningar. Det beror på att dagens C-programmering sker på en högre nivå. Men fortfarande, djupt inne i maskinen fortsätter den typen av lågnivåkodning. Du är bara isolerad från den primordiska soppen av sådana och nollor från vilken all programvara stiger.
Introduktion till binära
Binära siffror, eller bitar , är 1 och 0. Bara, de är svaga; men i grupper samlar de stor makt. Digital lagring använder dessa bitar i grupper.
Termen | C Variabel | Bitar | Värdesintervall Unsigned | Value Range Signed |
---|---|---|---|---|
Bit | _Bool | 1 > 0 till 1 | 0 till 1 | Byte |
char | 8 | 0 till 255 | -128 till 127 | Word |
kort int | 16 > 0 till 65, 535 | -32, 768 till 32, 767 | Långt | långt int |
32 | 0 till 4, 294, 967, 295 | -2, 147, 483, 648 till 2, 147, 483, 647 |
|
Fördelen med att gruppera bitar i byte, ord och så vidare är att det gör dem enklare att hantera. Processorn kan bättre hantera information i bitar. Hur bitar får sina värden är baserade på krafter på 2. |
Uttryck
Binärt värde | 2 | 0 |
---|---|---|
1 1 > 2 | 1 | 2 |
10 2 | 2 | 4 |
100 2 | 3 | 8 |
1000 2 | 4 | 16 |
10 tusen 2 | 5 | 32 |
100 tusen 2 | 6 | 64 |
miljoner 2 > 7 | 128 | 10000000 |
|
Egentligen hittar du 256 möjliga värden för en byte, som inkluderar all-noll permutationen. Det är också ett värde. | Nedan visas hur kraften på 2-kartan i binär lagring. Precis som decimaler i en bas ökar 10-talet med 10-bitars bitar i ett binärt tal med 2 krafter, läser från höger till vänster. |
5, 2
3
, 2 1 och 2 < 0 . När du multiplicerar dessa värden med sina decimalparametrar och sedan summerar dem, får du decimalrepresentationen av binär 00101011, vilket är 43. Det är bra och bra, men snällt memorera det inte! Oroa dig inte för att översätta binära till decimalvärden; datorn gör det jobbigt för dig hela tiden. Faktum är att datorn bara ser binär och visar sedan decimaltal som ett tillstånd för dina mänskliga ögonbollar.Men när du manipulerar binära värden hjälper det att veta vad som händer. Ändring av ett bitars värde till 1 kallas för inställning av biten. Ändring av ett bitars värde till 0 kallas
återställning av en bit.
-
Så här visar du binära värden
-
För att ge bästa möjliga känsla för C-språkens binära manipulationsoperatörer hjälper det att se ett binärt tal i åtgärd. Funktionen printf () saknar en binär konverteringstecken, och C-biblioteket är inte värd för en binär utgångsfunktion. Nej, för att se ett binärt nummer måste du skapa din egen funktion. Funktionen
-
binbin () presenterar en binär utgångsfunktion som kallas binbin (). Funktionen binbin (), vid linje 15 i funktionen
binbin ()
, sväljer ett intvärde. Dess utgång är en sträng som representerar det int-värdet i binära siffror.
THE BINBIN () FUNKTION # inkludera char * binbin (int n); int main () {int inmatning; printf ("Skriv ett värde 0 till 255:"); scanf ("% d", & input); printf ("% d är binär% sn", inmatning, binbin (inmatning)); returnera (0);} char * binbin (int n) {static char bin [9]; int x; för (x = 0; x <8; x ++) {bin [x] = n & 0x80? '1': '0'; n << = 1;} bin [x] = "; returnera (bin);} Vanligtvis ser innehållet i binbin () -funktionen ganska mystiskt ut. Det är okej.
Övning 1 : Skriv källkoden från funktionen
binbin ()
i ett nytt projekt. Bygg och kör det ett par gånger för att se hur heltal visas som binära tal.
Som skrivet i binbin () Funktionen binbin () visar bara 8 bitar data, men int variabel typen lagrar vanligtvis många fler bitar. Övning 2:
Ändra binbin () -funktionen från < binbin () Funktionen så att den visar 16 bitar av int-värdet. (Tekniskt är 16 bitar en kort int.) För att göra så måste du ändra dessa saker: Linje 9: Ändra texten så att 65535 anges istället för 255.
Linje 17: Ändra storleken på matrisen till 17 för att ta emot 16 tecken i utmatningen plus (null tecken) i slutet av strängen. Linje 20: Justera det omedelbara värdet 8 i koden till 16 för att ta hänsyn till alla 16 tecken i utgången. Linje 22: Byt ut värdet 0x80 med 0x8000. Denna ändring gör bitfältet större. Build Exercise 2. Kör det några gånger för att se hur bitfältet ser ut som större värden.