Indholdsfortegnelse:
Video: The basics of BASIC, the programming language of the 1980s. 2025
En smattering af C-programmeringsoperatører giver data manipulation på det binære niveau. Operatørerne er lette at ignorere, men kun når deres sande kraft og nytteværdi ikke værdsættes.
Den ~ og! operatører
To sjældne binære operatører er ~ (eller 1's komplement) og! (eller ikke). De mangler charmen hos de logiske bitvise operatører, men de har et sted.
Komprimeringsoperatøren 1 springer alle bitene i en værdi, og drejer en 1 til en 0 og en 0 i en 1. For eksempel:
~ 01010011 = 10101100
Den! (NOT) operatoren påvirker hele værdien - alle bitene. Det ændrer enhver usikker værdi til 0, og værdien 0 til 1:
! 01010011 = 00000000! 00000000 = 00000001
Nul og 1 er de eneste to resultater muligt, når du bruger bitvis! operatør.
Både den ~ og! operatører er unary operatører - du simpelthen prefix en værdi for at få resultaterne.
Operator | Navn | Type | Action |
---|---|---|---|
& | OG | Bitvis | Masker bits, nulstiller nogle bits til 0 og efterlader resten
alene |
| | ELLER | Bitvis | Indstiller bits, ændrer specifikke bits fra 0 til 1 |
^ | XOR | Bitwise | Ændrer bit til 0, når de matcher; ellers til 1 |
~ | 1's komplement | Unary | Omvendt alle bits |
~ | IKKE | Unary | Ændrer ikke-null-værdier til 0; 0 værdier, til 1 |
Funktionen binbin () |
To sætninger forklarer, hvad der sker i binbin () -funktionen for at gøre det omdanne værdier til en binær streng:
bin [x] = n & 0x80? '1': '0'; n << = 1;
Den første sætning udfører en AND-maske med værdien n. Alt undtagen den venstre side i nummeret kasseres. Hvis den bit er indstillet, hvilket gør den til en sand tilstand, gemmes tegnet 1 i arrayet; ellers gemmes tegnet 0.
Værdien er udtrykt som 0x80, som er hexadecimal notation, en type stenografi for binær. Hexværdien 0x80 er lig med 10000000 binær, hvilket er AND-masken. Hvis værdien er 16 bit i stedet for 8, anvendes 0x8000 i stedet, hvilket skaber en 16-bit binær maske.
Den anden sætning skifter bitene i værdien n et hak til venstre. Når kredsløbet springer, der arbejder gennem værdien n, skiftes en anden bit i værdien til den venstre position. Denne bit er evalueret, og den binære streng er bygget ved at indsætte et tegn '1' eller '0'.