Inhoudsopgave:
Video: Basisbeginselen van fomulegebruik in Excel 2024
Een paar C-programmeeroperatoren bieden datamanipulatie op binair niveau. De operators zijn gemakkelijk te negeren, maar alleen als hun ware kracht en bruikbaarheid niet op prijs worden gesteld.
De ~ en! operators
Twee niet-frequente binaire operatoren zijn het ~ (of 1's complement) en de! (of niet). Ze missen de charme van de logische bitsgewijze operatoren, maar ze hebben een plaats.
De 1-complementoperator klapt alle bits in een waarde om, draait een 1 in een 0 en een 0 in een 1. Bijvoorbeeld:
~ 01010011 = 10101100
De! (NOT) -operator heeft invloed op de volledige waarde - alle bits. Het verandert elke niet-nulwaarde in 0 en de waarde 0 tot 1:
! 01010011 = 00000000! 00000000 = 00000001
Nul en 1 zijn de enige twee resultaten mogelijk bij gebruik van het bitwise! operator.
Zowel de ~ als de! operators zijn unary operatoren - u geeft eenvoudig een waarde op om de resultaten te krijgen.
Operator | Naam | Type | Actie |
---|---|---|---|
& | EN | Bitwise | Maskers, bits op nul teruggezet en de rest
alleen |
| | OF | Bitwise | Stelt bits in en wijzigt specifieke bits van 0 tot 1 |
^ | XOR | Bitwise | Wijzigt bits naar 0 wanneer ze overeenkomen; anders, op 1 |
~ | 1's complement | Unary | Alle bits omdraaien |
~ | NIET | Unary | Wijzigt niet-nulwaarden in 0; 0 waarden, tot 1 |
De |
bin [x] = n & 0x80? '1': '0'; n << = 1;
De eerste instructie voert een EN-masker uit met de waarde n. Alles behalve het meest linkse deel van het nummer wordt weggegooid. Als dat bit is ingesteld, waardoor het een TRUE-voorwaarde wordt, wordt het teken 1 opgeslagen in de array; anders wordt het teken 0 opgeslagen.
De tweede instructie verschuift de bits in de waarde n één inkeping naar links. Terwijl de lus draait, en door de waarde n werkt, wordt een ander bit in de waarde naar de meest linkse positie verschoven. Die bit wordt geëvalueerd en de binaire reeks wordt opgebouwd door een teken '1' of '0' in te voegen.