Använd bc för att omvandla talsystem
Att kunna omvandla mellan olika
talsystem med papper och penna är
bra att kunna. Men ibland behöver vi bara ett svar – snabbt. Det här kan
programmet bc
hjälpa dig med. Programmet bc
finns i de flesta Unixliknande
system, så som Linux, FreeBSD, macOS med flera. Förkortningen bc
står för
Basic Calculator men benämns även Bench Calculator.
Som en vanlig miniräknare
När vi först startar bc
kan vi använda det som en vanlig miniräknare,
exempelvis:
$> bc
8*8
64
3^5
243
a=4
b=2
a+b
6
Avsluta bc
med kommandot quit
.
Tänk på vi måste starta bc
med flaggan -l
ifall vi ska kunna använda
decimaler.
$> bc -l
5.8*3.3
19.14
quit
Omvandla mellan olika talsystem
Vi kan ställa in både in-talsystemet och ut-talsystemet i bc
. Som
standard används det vanliga decimala talsystemet med basen 10. För att
omvandla talet 15 till hexadecimalt behöver vi därför bara ändra
ut-talsystemet i bc
. Detta gör vi med obase
. Här sätter vi obase
till
16 (hexadecimalt) men låter ibase
(in-talsystemet) vara orört. Därefter
anger vi talet 15 till bc
och får svaret F
.
$> bc
obase=16
15
F
Om vi istället vill omvandla från binärt till hexadecimalt ändrar vi även
ibase
. Här sätter vi ibase
till 2 (binärt) och låter obase
vara 16
(hexadecimalt) från det föregående exemplet. Vi omvandlar sedan det binära
talet 111 till hexadecimalt.
ibase=2
111
7
OBS: Om vi nu försöker ändra ibase
eller obase
kommer dessa att tolkas
som binära tal eftersom vi har ibase
satt till 2. För att återställa ibase
är det enklaste att avsluta bc
med quit
och börja om igen. För att slippa
avsluta bc
och starta det igen kan vi istället använda bc
direkt från
kommandoraden. Vi anger då obase
, ibase
och talet med hjälp av echo
, och
omdirigerar det sedan till bc
.
För att omvandla det binära talet 110100100 till oktalt (basen 8) kan vi skriva
följande kommando direkt i skalet (kom ihåg att sätta obase
före ibase
):
$> echo "obase=8; ibase=2; 110100100" | bc
644
För att istället omvandla det hexadecimala talet FF till decimalt (basen 10) gör vi på följande sätt:
$> echo "ibase=16; FF" | bc
255
Ett sista exempel, där vi omvandlar det oktala talet 644 till hexadecimalt:
$> echo "obase=16; ibase=8; 644" | bc
1A4
Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.
Kommentarer
Kommentarsfältet är modererat. Det innebär att alla kommentarer granskas av ansvarig utgivare före publicering.
Du väljer själv om du vill ange ditt riktiga namn, en pseudonym eller vara helt anonym. Ingen registrering behövs.
Relaterade artiklar
-
Hur procent och bråktal hänger ihop
Procenttal kan skrivas som bråktal och vice versa. Att skriva om procent till bråktal kan därför hjälpa förståelsen för hur man räknar med procent.
-
Roliga egenskaper hos polygoner
Det finns många roliga och intressanta egenskaper hos polygonerna. Det mest intressanta är kanske polygonernas vinkelsumma, och hur dessa kan räknas fram genom att rita trianglar inuti polygonerna.
-
Python och trigonometri
Lite uppfräschning av trigonometri och Python är aldrig fel. Här får vi lära oss hur man kan rita upp rätvinkliga trianglar – direkt i Python – om vi känner till två av sidorna. För detta kommer vi att använda modulerna turtle och math.
-
Ett av mina första nyttoprogram
Vilken nostalgi det var när jag gick igenom programmen på min gamla grafräknare från gymnasiet, en TI-83. Där hittade jag ett av mina första nyttoprogram jag någonsin skrivit. Det var ett program skrivit i ett språk kallat TI-BASIC, en version av Basic för Texas Instruments grafräknare. Året då jag skrev programmet är troligen år 2000 eller 2001.
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.