Hem Personliga finanser Grunderna för Bit Manipulation för C Programmering - Dummies

Grunderna för Bit Manipulation för C Programmering - Dummies

Innehållsförteckning:

Video: Learn Python - Full Course for Beginners [Tutorial] 2025

Video: Learn Python - Full Course for Beginners [Tutorial] 2025
Anonim

En smattering av C-programmeringsoperatörer ger data manipulation på binär nivå. Operatörerna är lätt att ignorera, men bara när deras sanna kraft och användbarhet inte uppskattas.

Den ~ och! operatörer

Två sällsynta binära operatörer är ~ (eller 1: s komplement) och! (eller inte). De saknar charmen hos de logiska bitvisa operatörerna, men de har en plats.

Komprimeringsoperatören 1 sänder alla bitarna i ett värde, vrid 1 till 0 och 0 till en 1. Till exempel:

~ 01010011 = 10101100

The! (NOT) operatören påverkar hela värdet - alla bitar. Det ändrar alla icke-nollvärden till 0 och värdet 0 till 1:

! 01010011 = 00000000! 00000000 = 00000001

Noll och 1 är de enda två resultaten möjliga när du använder bitvis! operatör.

Både ~ och! operatörer är unary operatörer - du prefixar bara ett värde för att få resultaten.

Operatör Namn Typ Åtgärd
& OCH Bitvis Masker bitar, nollställer några bitar till 0 och lämnar resten

ensam

| ELLER Bitvis Sätter bitar, ändrar specifika bitar från 0 till 1
^ XOR Bitwise Ändrar bitar till 0 när de matchar; Annars till 1
~ 1: s komplement Unary Omvänder alla bitar
~ NOT Unary Ändrar icke-zero värden till 0; 0 värden, till 1
Funktionen binbin ()

Två uttalanden förklarar vad som händer i binbin () -funktionen för att konvertera värden till en binär sträng:

bin [x] = n & 0x80? '1': '0'; n << = 1;

Det första uttalandet utför en AND-mask med värdet n. Allt utom den vänstra delen i numret kasseras. Om den biten är inställd, vilken gör det till ett SANT tillstånd, är tecknet 1 lagrat i matrisen; annars lagras tecknet 0.

Värdet uttrycks som 0x80, vilket är hexadecimal notation, en typ av stenografi för binär. Hexvärdet 0x80 är lika med 10000000 binärt, vilket är AND-masken. Om värdet är 16 bitar istället för 8 används 0x8000 istället, vilket skapar en 16-bitars binär mask.

Det andra uttalandet skiftar bitarna i värdet n ett skår till vänster. När slingan snurrar, arbetar genom värdet n, skiftas en annan bit i värdet till vänsterläge. Denna bit utvärderas, och binärsträngen byggs genom att infoga ett "1" eller "0" tecken.

Grunderna för Bit Manipulation för C Programmering - Dummies

Redaktörens val

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...