Hur man använder bc som en Hex Calculator



Prova Vårt Instrument För Att Eliminera Problem

Olika Unix-liknande operativsystemsimplementeringar som Linux och i stort sett allt som har GNU-sviten inkluderar bc-grundläggande kalkylatorspråk. Dess syntax liknar mycket C-programmeringsspråket. Du kan använda den som en hex-kalkylator direkt från kommandoraden så att du aldrig behöver ladda ner någon hexadecimal eller oktal app för din telefon igen.



Det här är bra nyheter för utvecklare och alla som arbetar med några läxor. Du måste dock öppna en terminal för att göra detta. Håll ner Ctrl, Alt och T eller sök efter ordterminalen på Ubuntu Unity Dash. Du kanske vill starta den från Whisker eller Applications-menyn under Systemverktyg. Användare av macOS kan starta en terminal från mappen Verktyg eller genom att klicka på dockan om den är fäst. Du hittar bc på de flesta Unix-liknande operativsystem idag och inte bara i Linux.



Metod 1: Använd bc för att konvertera decimaltal och hexadecimaltal

Typ eko ‘obas = 16; 127’ | före Kristus för att konvertera siffran 127 till hexadecimalt från vanliga bas-10-nummer. Naturligtvis kan du ersätta det med valfritt heltal. Resultatet du får är 7F, och om du vill konvertera tillbaka till vanlig bas-10 kan du skriva eko ‘ibase = 16; obase = A; 7F’ | före Kristus och tryck enter. Det är så enkelt och kan användas när som helst med valfritt hexnummer också. Eftersom det är ett giltigt Unix-stilkommando kan du också införliva detta i alla typer av skalskript. Det är lätt att komma ihåg att du kan använda detta från kommandoraden när som helst du behöver konvertera ett nummer fram och tillbaka snabbt.



Metod 2: Konvertera binära och hexadecimala siffror med bc Hex Calculator

Skriv kommandotolken eko ‘obas = 16; ibase = 2; 111010001’ | före Kristus för att konvertera ett binärt tal till ett hexan. Tryck på Enter så får du 1D1 som svar. Naturligtvis kan du fylla i den binära raden med valfritt binärt nummer som du behövde konvertera vid den tiden. Återigen är det omvända och det är möjligt att använda den medföljande hex-kalkylatorn för att konvertera ett hex-tal till ett binärt. Skriver eko ‘obas = 2; ibas = 16; 1D1’ | före Kristus och trycka på enter kommer du att få tillbaka ditt ursprungliga nummer, men du kan ersätta 1D1 med andra giltiga hex-värden.



Om du använder detta ofta vill du ha två punkter i åtanke. En är att bokstäver som är inneboende i hexadecimala siffror alltid måste vara versaler, eftersom programvaran för bc behandlar små bokstäver som algebraiska variabler. Den andra är att alla dessa kommandon kan köras av en vanlig användare och du behöver inte root-åtkomst för att göra dem på någon modern version av Linux eller Unix.

Metod 3: Använda bc som Full Hex Calculator

Du kan också använda kommandot bc som en hex-kalkylator för att utföra aritmetik om du behövde. De flesta kommer inte att ha detta behov, men de som är programmerare kan behöva räkna ut skillnaderna mellan två olika platser i minnet. Det här är också en riktigt vanlig fråga som ställs av dem som gör datavetenskapliga läxor för gymnasiet och college!

Låt oss säga att du hade ett hexnummer som är EE65522D och att du ville subtrahera C3EFAF86 från det. Du kan skriva eko ‘ibase = 16; EE65522D-C3EFAF86’ | före Kristus och tryck på Enter för att hitta svaret. Om du föredrar att svaret är hexadecimalt kan du försöka eko 'obas = 16; ibas = 16; EE65522D-C3EFAF86' | före Kristus för att lösa det på det sättet. Andra aritmetiska operationer är också tillåtna. Till exempel, eko ‘obas = 16; ibas = 16; EE65522D * C3EFAF86’ | före Kristus skulle multiplicera de två värdena. Du kan naturligtvis använda + som en operand för tillägg om du vill. Att använda / för division returnerar inte en återstod; du måste använda% för modul för att göra det.

Till exempel körande eko 'obase = 16; ibase = 16; EE65522D% C3EFAF86' | bc returnerar värdet 2A75A2A7, eftersom kvoten för den ekvationen är 1 återstoden 2A75A2A7 när den körs genom en hex-räknare. Kör / operand först och sedan% operand för att hitta båda värdena.

3 minuter läst