Hvordan utføre en Bit Shift i Java

Java programmeringsspråk lar deg utføre litt skift og bitvis operasjoner på binære tall som ligger til grunn for ulike datatyper. Bruke litt skift operatører, kan du utføre visse matematiske operasjoner mye raskere enn hvis du bruker avanserte kommandoer. Du kan bruke litt skift for fartsovertredelse opp noen programmer og for applikasjoner som pseudo-tilfeldige tall generasjon.

Bruksanvisning

1 Velg den variabelen som du har tenkt å skifte. For dette eksempelet kaller variabelen VAR. Hvorvidt den variable datatype er byte, helt tall, streng eller en hvilken som helst annen type, utfører Java den bits skift på det binære tall som representerer den variable.

2 Bestem retning av litt skift og av hvor mange steder du ønsker å skifte VAR. Du kan skifte variabelen enten venstre eller høyre. Ring antall plasser som du ønsker å skifte NUM.

3 Finn ut om du ønsker å gjøre et signert eller en usignert skift. Når skiftende venstre, er dette trinnet ikke nødvendig, men hvis du skifter til høyre, må du avgjøre om du trenger for å opprettholde den (negative) tegn på VAR. Hvis VAR er en signert variabel, utføre en standard høyre shift; ellers utføre en usignert høyre shift.

4 Legg inn koden til programmet. For en venstre shift, skriv "VAR << NUM" etterfulgt av et semikolon for å fullføre kommandoen. For en signert høyre shift, bruk "VAR >> NUM", og for en usignert høyre shift, bruk "VAR >>> NUM." I begge tilfeller legge til et semikolon på slutten av kommandoen.

5 Kjør koden din. Java dytter binære tall representert ved VAR enten høyre eller venstre i henhold til antall plasser, NUM, som du valgte i trinn 2. Du må kanskje midlertidig legge til litt ekstra kode for å teste programmet og å sørge for at den gjør akkurat det du forventer.

Hint

  • Siden Java og C ++ er svært like språk, kommandoene for å implementere litt skift er også lik. Men det er noen fine poeng i Java som du bør ta hensyn til.
  • Venstre bit skifter pad antall med nuller, men rett skifter pad antall med enten nuller og ettall, avhengig av fortegnet til variabelen. Siden variabler signert bruke dem til å representere skiltet, er det nødvendig å bruke en usignert høyre bit shift hvis du ønsker å bare bruke nuller til pad nummeret.