Använda uppräknade typer som bitflaggor



med de enskilda bitarna i varje storlek heltal är en common och mycket användbart (det vill säga sparsamma och sparsamma) sätt att lägga till flaggor till ett program. Istället för att använda booleska kan värden eller heltalsvärden med vara allt från 8-bitar (en byte) att även fyra byte (32 bitar), du kan i stället "flip" bitar inuti ett heltal används som en atom lagringsplats. Naturligtvis av atom-, här tänker jag att varje enskild bit att göra upp heltalet som sin egen unika, användbar, odelbar, atom enhet.

Ofta flaggor anges i hexadecimal form med befogenheter av två (för att åtkomst till enskilda bit platser) och skapade med notation som definierar innebörden av ett visst stycke läge i ett osignerat heltal sjunker. Det finns flera problem med detta trots sin popularitet och bred användning. Det första problemet är att när du har definierat din flaggvärden, det är nästan omöjligt att infoga nya flaggor utom i slutet, så att du måste justera och flytta ner alla efterföljande värden bakom den nyinförda en. Sedan, eventuellt, det största problemet är att det inte type-safe. Det vill säga, tillåter hur bitarsvärden definieras normalt (med makrot preprocessor #define) inte någon strikt typkontroll vid kompilering, lämnar checken för runtime, som kan skapa och sprida ibland mycket subtil fel i koden.

Detta korta instructable kommer att visa dig en ny metod för att skapa flaggor med bitvärden av ett heltal som inte bara låter dig infoga nya flaggor som de är skyldiga utan någon omnumrering, men ger också starka-typkontroll, också.

Se Steg
Relaterade Ämnen

Använda en Online tangentbordet som ett hjälpmedel

detta är kanske det enklaste instructable ända sedan det innebär bara två steg. Men först vill jag ge en kort historik.Ungefär ett år sedan, jag tog en gammal Linux laptop och anslöt den till min TV så jag kunde surfa på webben och titta på online vi...

Använda en LCD-Monitor som en TV utan en dator

LCD-TV har kommit ner i pris, men inte tillräckligt. Om du har en kabel-TV, än din tv tuner är i som rutan, inte i tv, så då varför köpa en tv med en tuner som du aldrig kommer att använda? Tro det eller ej kan du spara nästan $200 när du köper en da...

Använda en Kindle Fire som en skärm för din Raspberry pi

I denna svårlösta jag kommer att visa dig hur man använder en kindle fire som skärm för en raspberry pi. Jag hade en gammal kindle fire som jag fick ett par år tillbaka som jag inte använder längre och jag tänkte, varför inte använda den som en monit...

Använda din laddare adapter som iPod stand

har du en extra eller trasiga telefonladdare? Inte kasta bort det! Du kan använda den som en iPod stå.Steg 1: Demontera din laddare. Och skar en av stiftet med en fräs. Se bilden nedan.Steg 2: That's it! Nu har du själv en iPod stå!...

Använda din lerkruka potten som en Dumpling ångbåt

Göra perfekt ångad fläsk dumplings utan en bambu ångbåt. Jag ska visa dig hur.Steg 1: Konfigurera din lerkruka potten Du behöver hitta ett durkslag som passar i din långsam spis. Jag hade denna följsamma kisel vegetabiliska ångaren ligger runt huset....

Använda en NPN-Transistor som en Switch! (Ingen lödning!)

Gör en LED omkopplare på eller av beroende på en NPN-transistor. Du behöver:1 set av brödunderläggen7 fast - Core ledningar1 NPN Transistor2 AA batterier1 Grön LED1 lysdiod (valfri färg! Jag använde en vit en som lyser en bärnstensfärgad.)Det är allt...

Hur man kan använda ett måttband som en rak kant - Build.com 30 andra tips

inte har en rak kant nära av? Var inte orolig! Här är ett snabbt och enkelt tips på hur man använder ett måttband som en rak kant....

Använda ett dokument klipp som en reservoarpenna stå

tuschpennor torka ut om de inte är täckta omedelbart efter som används. Eftersom begränsningen och uncapping en penna vanligtvis kräver två händer, skulle ställning komma till hands för, säg, skriver sporadiska anteckningar i en bok. Sådan står finns...

Använda din Mac OSX som en trådlös Adapter för XBOX 360

jag såg en annan guide på hur man gör detta på här men det var fruktansvärt fel och lämnade ut så mycket grejer, så jag bestämde mig att göra min egen.Steg 1: Vad du behöverDu behöver verkligen mycket att göra detta.Allt du behöver är:En Mac (denna g...

Hur stänga en dator genom att använda någon anordning som kan skicka e-post

BASICON maskin projektProfessor = Christian EchavezGrupp 10Medlemmar: Connie Tayamen, Elizabeth Sumalde, Marjorie Lim* Internet-anslutning krävs* Microsoft Outlook ska vara öppen....

* Uppdaterad * 3D Skanna ditt huvud och använda den som en schackpjäs.

Spela schack (eller monopol) med din egen anpassade bitar. Som just nu framöver.Det är häftigt, vi vet, men lugna ner dig och följ den instructable eftersom vi talar du tråg.Vi är en liten industridesign kontor i Rotterdam, Nederländerna. För över en...

Använda en combo förstärkare som ett skåp (billigt och lätt)

detta är det enklaste sättet att använda en combo förstärkare som en högtalarlåda för ett separat amp huvud. Jag använder en Line 6 Spider IV combo här men de flesta combos fungerar detta sätt. Obligatoriska delar bara kostar £8,50 ($13) och detta pr...

Använda Gmail som en extern enhet (7GB)

detta är lär du dig att använda ditt Gmail-konto som en extra enhet med 7.18 GB extra utrymme.Du behöver vara ansluten till internet för att komma åt den.Denna preety använder mycket din gmail utrymme som en online-enhet.Steg 1: Ladda ner programmet...

Pacman roligt mellanmål: använda upp som godis

vi gjorde dessa på jobbet en gång som en verksamhet för spel vecka. Barnen hade skitkul att göra dessa och mestadels bara äta allt godis. Detta är också ett bra sätt att använda en del av som påsk-godis som är på väg riktigt snart.BTW, dessa har en m...

Motorsåg Mill bygga, använda & Tips n Tricks

I detta instructable kommer vi att se hur man gör en motorsåg kvarn, hur man använder det, och diskutera några tips och tricks till dolda och mystiska konsten att bordläggning upp nedfallna träd. Välkommen ombord!Om du gillar denna guide hitta det an...

Spela fransmännen kan kan använda Arduino och Summer

Bonjour!Gör din Arduino spela den franska kan kan använda en Summer. Ingen tång. Inga bränder. Det är så rakt fram att det är så upprörande den kan kan innebär.Detta instructable täcker några inledande elektronik info, och fokuserar på att skriva skr...

Hur utforma, skriva ut och använda 3D tryckt läder stämplar!

Remläder och producerar vackra och intrikata mönster för hand kan vara mycket utmanande. Har nu gjort flera läder projekt, jag har lärt mig mycket om att arbeta med läder och som sådan jag letar alltid efter nya och bättre sätt att producera mönster...

Använda I2C_LCD för att felsöka ditt projekt

Den serial monitorn är en användbar felsökare för arduino, den kan skriva ut loggar på datorskärmen. så att, om du vill få löpande information av er projekt, måste du ta en dator med dig överallt. Nu, du kan använda I2C_LCD för att få igång stockar n...

Lätt att konstruera/använda Transistor testare

Hej allaJag fick en transistor testare från gearbest.com och eftersom jag tycker det är ett mycket användbart verktyg, beslutat att göra en instructables om det.I detta instructables ska jag visa dig hur man löda testaren ihop och ge alla funktioner...