Hoe bc te gebruiken als een hex-rekenmachine



Probeer Ons Instrument Voor Het Oplossen Van Problemen

Verschillende Unix-achtige implementaties van besturingssystemen, zoals Linux en vrijwel alles dat de GNU-suite heeft, bevat de bc-basistaal voor rekenmachines. De syntaxis lijkt sterk op de programmeertaal C. U kunt het direct vanaf de opdrachtregel gebruiken als hexadecimale of octale app, zodat u nooit meer een hexadecimale of octale app voor uw telefoon hoeft te downloaden.



Dit is geweldig nieuws voor ontwikkelaars en iedereen die aan huiswerk werkt. U moet hiervoor echter een terminal openen. Houd Ctrl, Alt en T ingedrukt of zoek naar het woord terminal op de Ubuntu Unity Dash. Misschien wilt u het starten vanuit het menu Whisker of Toepassingen onder Systeemwerkset. Gebruikers van macOS kunnen een terminal starten vanuit de map Hulpprogramma's of door op het dock te klikken als deze is vastgezet. Je kunt bc tegenwoordig op de meeste Unix-achtige besturingssystemen vinden en niet alleen onder Linux.



Methode 1: bc gebruiken om decimale en hexadecimale getallen te converteren

Type echo ‘obase = 16; 127’ | bc om het getal 127 te converteren naar een hexadecimaal getal van gewone 10-nummers. U kunt dat natuurlijk vervangen door een willekeurig geheel getal. Het resultaat dat u krijgt is 7F, en als u terug wilt converteren naar de normale basis-10, kunt u typen echo ‘ibase = 16; obase = A; 7F’ | bc en druk op enter. Het is zo eenvoudig en kan ook altijd met elk geldig hexadecimaal nummer worden gebruikt. Omdat het een geldige opdracht in Unix-stijl is, kunt u dit ook in elk type shell-script opnemen. Het is gemakkelijk te onthouden dat u dit vanaf de opdrachtregel kunt gebruiken op elk moment dat u een getal snel heen en weer moet converteren.



Methode 2: Binaire en hexadecimale getallen converteren met de bc Hex Calculator

Typ bij de opdrachtprompt echo ‘obase = 16; ibase = 2; 111010001’ | bc om een ​​binair getal om te zetten in een hexadecimaal getal. Druk op enter en je zou 1D1 als antwoord moeten krijgen. Uiteraard kunt u die binaire regel invullen met elk binair getal dat u op dat moment moest omzetten. Nogmaals, het omgekeerde is waar en het is mogelijk om de meegeleverde hex-calculator te gebruiken om een ​​hexadecimaal getal om te zetten in een binair getal. Typen echo ‘obase = 2; ibase = 16; 1D1’ | bc en door op enter te drukken, krijgt u uw originele nummer terug, maar u kunt 1D1 vervangen door andere geldige hexadecimale waarden.



Als u dit vaak gebruikt, moet u twee punten in gedachten houden. Een daarvan is dat letters die inherent zijn aan hexadecimale getallen altijd hoofdletters moeten zijn, omdat de bc-software kleine letters behandelt als algebraïsche variabelen. De tweede is dat al deze commando's kunnen worden uitgevoerd door een gewone gebruiker en dat je geen root-toegang nodig hebt om ze uit te voeren op een moderne versie van Linux of Unix.

Methode 3: bc gebruiken als een volledige hex-rekenmachine

U kunt de opdracht bc ook als hexadecimale rekenmachine gebruiken om rekenkundige bewerkingen uit te voeren, indien nodig. De meeste mensen zullen deze behoefte niet hebben, maar degenen die programmeurs zijn, moeten misschien de verschillen tussen twee verschillende locaties in het geheugen achterhalen. Dit is ook een veel voorkomende vraag die wordt gesteld door degenen die computerwetenschappelijk huiswerk maken voor de middelbare school en universiteit!

Stel dat u één hexadecimaal getal had, namelijk EE65522D, en u wilde daar C3EFAF86 van aftrekken. Je zou kunnen typen echo ‘ibase = 16; EE65522D-C3EFAF86’ | bc en druk op enter om het antwoord te vinden. Als je liever hebt dat het antwoord in hexadecimaal is, kun je het proberen echo ‘obase = 16; ibase = 16; EE65522D-C3EFAF86’ | bc om het op die manier op te lossen. Andere rekenkundige bewerkingen zijn ook toegestaan. Bijvoorbeeld, echo ‘obase = 16; ibase = 16; EE65522D * C3EFAF86’ | bc zou de twee waarden vermenigvuldigen. Je kunt + natuurlijk gebruiken als operand voor optellen als je wilt. Het gebruik van / voor deling levert geen rest op; je zou% moeten gebruiken voor modulus om dat te doen.

Als u bijvoorbeeld echo ‘obase = 16; ibase = 16; EE65522D% C3EFAF86’ | bc retourneert de waarde 2A75A2A7, omdat het quotiënt van die vergelijking 1 rest 2A75A2A7 is wanneer deze door een hex-rekenmachine wordt uitgevoerd. Voer eerst de / operand uit en vervolgens de% operand om beide waarden te vinden.

3 minuten gelezen