Innholdsfortegnelse:
Video: Quantum Computers Explained – Limits of Human Technology 2025
En smattering av C-programmeringsoperatører gir datahåndtering på binærnivå. Operatørene er lett å ignorere, men bare når deres sanne kraft og nytte ikke blir verdsatt.
Den ~ og! operatører
To sjeldne binære operatører er ~ (eller 1-komplementet) og! (eller ikke). De mangler sjarmen til de logiske bitwise operatørene, men de har et sted.
Komprimeringsoperatøren 1 flipper alle brikkene i en verdi, snu en 1 til en 0 og en 0 til en 1. For eksempel:
~ 01010011 = 10101100
Den! (IKKE) operatøren påvirker hele verdien - alle biter. Det endrer en null verdi til 0, og verdien 0 til 1:
! 01010011 = 00000000! 00000000 = 00000001
null og 1 er de eneste to resultatene mulig når du bruker bitvis! operatør.
Både ~ og! operatører er unary operatører - du bare prefix en verdi for å få resultatene.
Operatør | Navn | Type | Tiltak |
---|---|---|---|
& | OG | Bitvis | Maskerbiter, tilbakestiller noen biter til 0 og lar resten
alene |
| | ELLER | Bitwise | Setter bits, endrer bestemte biter fra 0 til 1 |
^ | XOR | Bitwise | Endrer biter til 0 når de matcher; ellers, til 1 |
~ | 1s komplement | Unary | Omvendt alle biter |
~ | IKKE | Unary | Endrer ikke-nullverdier til 0; 0 verdier, til 1 |
Den binbin () -funksjonen |
To setninger forklarer hva som skjer i binbin () -funksjonen for å gjøre det omdanne verdier til en binær streng:
bin [x] = n & 0x80? '1': '0'; n << = 1;
Den første setningen utfører en OG-maske med verdien n. Alt annet enn den venstre biten i nummeret er kassert. Hvis den bit er satt, som gjør det til en SANN tilstand, blir tegnet 1 lagret i gruppen; ellers lagres tegnet 0.
Verdien er uttrykt som 0x80, som er heksadesimal notasjon, en type stenografi for binær. Hexverdien 0x80 er lik 10000000 binær, som er AND-masken. Hvis verdien er 16 bits i stedet for 8, brukes 0x8000 i stedet, noe som skaper en 16-bit binær maske.
Den andre setningen skifter biter i verdien n ett hakk til venstre. Når løkken spinner, arbeider gjennom verdien n, blir en annen bit i verdien skiftet til venstre stilling. Den delen blir evaluert, og den binære strengen er bygd ved å sette inn et '1' eller '0' tegn.
