Hoe kunnen we helpen?

Print

Verschuiven/roteren

 

Shift/roteren

De functies Shift en Rotate bieden een mechanisme voor het verschuiven of roteren van bits in een geheel getal.

Met de functie Shift kun je een geheel getal naar links of rechts verschuiven, een geselecteerd aantal bitposities. Een bitwaarde die je kiest wordt verschoven naar de vrijgekomen bitpositie(s). Voor signed gehele getallen kan de verschuiving gedefinieerd worden om het tekenbit (het meest significante bit) wel of niet mee te tellen.

De functie Rotate is vergelijkbaar met Shift. Het verschil is dat de bits die uit het ene uiteinde van het getal zijn verschoven, terug worden verschoven naar de vrijgekomen positie(s) aan het andere uiteinde.

Shift (niet-getekend getal)

Wanneer je een Shift/Rotate-blok plaatst, selecteer je de Shift-knop in het dialoogvenster. Er wordt een grafiek weergegeven met de Shift-bewerking. Selecteer de richting waarin u wilt Shiften. Als je de richting wijzigt, verandert de grafiek om de verschoven richting weer te geven. Selecteer de Tag die je wilt Shiften, als Uitvoer. Selecteer de bitwaarde die je wilt Shiften naar de vrijgekomen bitpositie. Als je meer dan één bitpositie verschuift, wordt deze waarde in alle vrijgekomen bits verschoven. Selecteer ten slotte het aantal bitposities dat je wilt Shiften.

Verschuiven (signed getal)

Er is een extra optie voor het verschuiven van een signed getal. Als je een signed integer tagnaam selecteert, verschijnt er een selectievakje in het dialoogvenster met de tekst “Exclude Sign Bit”. Als je dit selectievakje inschakelt, wordt het tekenbit (de meest significante bitpositie) niet meegenomen in de Shift-bewerking. Met andere woorden, als je het selectievakje inschakelt, blijft het tekenbit ongewijzigd. Als je naar rechts schakelt en het selectievakje inschakelt, wordt het bit dat wordt ingeschoven verschoven naar de op één na meest significante bitpositie. Als je het vakje Tekenbit uitsluiten uitschakelt, wordt het hele getal verschoven.

Roteren (niet-getekend getal)

Wanneer je een Shift/Rotate-blok plaatst, selecteer je de knop Rotate in het dialoogvenster. De bewerking Roteren wordt weergegeven in het dialoogvenster. Selecteer de richting waarin u wilt Roteren. Als je de richting wijzigt, wordt de afbeelding aangepast aan de geroteerde richting. Selecteer de Tag die je wilt Roteren, als Uitvoer. De bit die naar buiten is geroteerd, wordt terug geroteerd naar de vrije bitpositie aan de andere kant van de variabele. Selecteer ten slotte het aantal bitposities dat je wilt Roteren.

Roteren (getal)

Er is een extra optie wanneer je een signed getal roteert. Wanneer je een signed integer tagnaam selecteert, verschijnt er een selectievakje in het dialoogvenster met de tekst “Exclude Sign Bit”. Als je dit selectievakje aanvinkt, zal de Roteerbewerking het tekenbit (de meest significante bitpositie) niet meenemen. Met andere woorden, als je het selectievakje inschakelt, blijft de tekenbit ongewijzigd. Als je naar rechts roteert en het vakje aanvinkt, wordt het bit dat wordt ingeroteerd geroteerd naar de op één na meest significante bitpositie. Als je het vakje Tekenbit uitsluiten uitschakelt, wordt het hele getal gedraaid.