Sådan bruges bc som en hex-lommeregner



Prøv Vores Instrument Til At Fjerne Problemer

Forskellige Unix-lignende operativsystemimplementeringer som Linux og stort set alt, hvad der har GNU-pakken, inkluderer det grundlæggende sprog til bc-regnemaskine. Dens syntaks svarer meget til programmeringssprog C. Du kan bruge den som en hex-lommeregner lige fra kommandolinjen, så du behøver ikke nogensinde at downloade en hexadecimal eller oktal app til din telefon igen.



Dette er en god nyhed for udviklere og alle, der arbejder på nogle lektier. Du skal dog åbne en terminal for at gøre dette. Hold Ctrl, Alt og T nede, eller søg efter ordterminalen på Ubuntu Unity Dash. Du vil muligvis starte det fra Whisker eller Applications-menuen under Systemværktøjer. Brugere af macOS kan starte en terminal fra mappen Hjælpeprogrammer eller ved at klikke på docken, hvis den er fastgjort. Du kan finde bc på de fleste Unix-lignende operativsystemer i disse dage og ikke kun i Linux.



Metode 1: Brug af bc til at konvertere decimaltal og hexadecimaltal

Type ekko 'obase = 16; 127' | bc for at konvertere nummeret 127 til hexadecimalt fra almindelige base-10-tal. Naturligvis kan du erstatte det med et hvilket som helst helt tal. Resultatet, du får, er 7F, og hvis du vil konvertere tilbage til almindelig base-10, kan du skrive ekko ‘ibase = 16; obase = A; 7F’ | bc og tryk enter. Det er så simpelt og kan også bruges når som helst med ethvert gyldigt hex-nummer. Da det er en gyldig kommando i Unix-stil, kan du også indarbejde dette i enhver type shell-script. Det er let at huske, at du kan bruge dette fra kommandolinjen til enhver tid, du har brug for at konvertere et nummer hurtigt frem og tilbage.



Metode 2: Konvertering af binære og hexadecimale tal med bc Hex Calculator

Skriv kommandoprompten ekko ‘obase = 16; ibase = 2; 111010001’ | bc at konvertere et binært tal til et hexadecimalt tal. Tryk på enter, og du skal få 1D1 som svar. Naturligvis kan du udfylde den binære linje med ethvert binært tal, som du havde brug for konverteret på det tidspunkt. Endnu en gang er det modsatte også sandt, og det er muligt at bruge den medfølgende hex-lommeregner til at konvertere et hex-tal til et binært. Indtastning ekko ‘obase = 2; ibase = 16; 1D1’ | bc og ved at trykke på enter får du dit originale nummer tilbage, men du kan erstatte 1D1 med andre gyldige hex-værdier.



Hvis du bruger dette ofte, skal du huske to punkter. Den ene er, at bogstaver, der er forbundet med hexadecimale tal, altid skal være store bogstaver, fordi bc-softwaren behandler små bogstaver som algebraiske variabler. Det andet er, at alle disse kommandoer kan køres af en almindelig bruger, og du behøver ikke rodadgang for at udføre dem på enhver moderne version af Linux eller Unix.

Metode 3: Brug af bc som en fuld hex-lommeregner

Du kan også bruge kommandoen bc som en hex-lommeregner til at udføre aritmetik, hvis du har brug for det. De fleste mennesker har ikke dette behov, men de, der er programmører, skal muligvis finde ud af forskellene mellem to forskellige placeringer i hukommelsen. Dette er også et rigtig almindeligt spørgsmål stillet af dem, der laver datalogi-lektier til gymnasiet og college!

Lad os sige, at du havde et hexadecimalt tal, der er EE65522D, og ​​at du ville trække C3EFAF86 fra det. Du kunne skrive ekko ‘ibase = 16; EE65522D-C3EFAF86’ | bc og tryk på Enter for at finde svaret. Hvis du foretrækker, at svaret er hexadecimal, kan du prøve ekko 'obase = 16; ibase = 16; EE65522D-C3EFAF86' | bc for at løse det på den måde. Andre aritmetiske operationer er også tilladt. For eksempel, ekko ‘obase = 16; ibase = 16; EE65522D * C3EFAF86’ | bc ville multiplicere de to værdier. Du kan selvfølgelig bruge + som en operand til tilføjelse, hvis du vil. Brug / til division returnerer ikke en rest; skal du bruge% til modul for at gøre det.

For eksempel kører ekko 'obase = 16; ibase = 16; EE65522D% C3EFAF86' | bc returnerer en værdi på 2A75A2A7, fordi kvotienten for ligningen er 1 resten 2A75A2A7, når den køres gennem en hex-lommeregner. Kør / operand først og derefter% operand for at finde begge værdier.

3 minutter læst