Kapitel 20:
Talsystem
20
Talsystem ................................................................................................ 344
Skriva in och konvertera talsystem ..................................................... 345
Beräkningar med binära och hexadecimala tal.................................. 346
Jämföra eller manipulera enskilda bitar ............................................. 347
När du skriver in ett heltal på din TI-89 / TI-92 Plus kan du skriva in
det i decimal, binär eller hexadecimal form. Du kan också ange
ett läge för Base för att ange i vilket talsystem resultat ska visas.
Bråktal och decimaltal visas alltid i decimal form.
Obs! Från den nya menyn
MATH/Base kan du välja ett
antal operationer som är
relaterade till olika talsystem.
Binära värden består av 0 och
1 med basen 2:
100
2 0 ù 0 = +0
2 1 ù 0 = +0
2 2 ù 1 = +4
Hexadecimala värden består
av 0 – 9 och A – F med
basen 16:
A8F
16 0 ù F = +15
16 1 ù 8 = +128
16 2 ù A = +2560
Dec
Bas 10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Bin
Bas 2
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
Hex
Bas 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
Du kan använda din TI-89 / TI-92 Plus för att konvertera ett värde
från ett talsystem till ett annat. Till exempel, 100 binärt = 4
decimalt och A8F hex = 2703 decimalt.
Hexadecimala tal används ofta för att presentera längre binära
värden, som är svåra att komma ihåg, som t ex:
1010 1111 0011 0111
A
F
3
7
Den hexadecimala formen AF37 är lättare
att arbeta med än motsvarande binära
1010111100110111.
Med TI-89 / TI-92 Plus kan du också jämföra eller manipulera
binära värden bit för bit.
Kapitel 20: Talsystem
343
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 343 of 6
Talsystem
Beräkna 10 binärt (bas 2) + F hexadecimalt (bas 16) + 10 decimalt (bas 10). Använd sedan
operatorn 4 för att konvertera ett heltal från ett talsystem till ett annat. Avsluta med att se
hur förändringar av Base påverkar de visade resultaten.
Steg
1. Öpnna dialogrutan MODE
(sidan 2). I inställningen för
Base väljer du DEC som aktuellt
talsystem.
Heltalsresultat visas i aktuellt läge för
Base. Bråktal och decimaltal visas
alltid i decimal form.
2. Beräkna 0b10+0hF+10.
³
TI.89
Tangenter
3„
(använd D när
du vill flytta till
läget Base)
B1¸
›
TI.92 Plus
Tangenter
3„
(använd D när
du vill flytta till
läget Base)
B1¸
OjB10«O OB10«O
HF
«10
¸
2™HF
När du vill skriva in ett binärt eller
hexadecimalt tal måste du alltid ange j « 1 0
0b eller 0h framför talet (nolla samt
bokstaven B alternativt H). Om du inte ¸
gör detta betraktas talet som ett
decimalt tal.
«12Ž
3. Lägg till 1 till resultatet och
konvertera det till ett binärt värde. 2 ™ B I N
j¸
«12Ž
BIN
¸
4. Lägg till 1 till resultatet och
konvertera det till ett
hexadecimalt värde.
«12Ž
2™HEX
j¸
«12Ž
HEX
¸
5. Lägg till 1 till resultatet och visa
det i decimal form utan
konvertering.
«1¸
«1¸
2 Ž öppnar konverterings-operatorn 4.
3„
(använd D för
att flytta till
När Base = HEX eller BIN gäller vissa
Base)
begränsningar för storleken på
resultatet. Se mer på sidan 346.
B2¸
6. Ändra inställningen för Base
till HEX.
3„
(använd D för
att flytta till
Base)
B2¸
7. Beräkna 0b10+0hF+10.
OjB10«O
2™HF
j«10
¸
OB10«O
HF
«10
¸
8. Ändra inställningen för Base
till BIN.
3„
(använd D för
att flytta till
Base)
B3¸
3„
(använd D för
att flytta till
Base)
B3¸
9. Skriv in 0b10+0hF+10 igen.
¸
¸
344
Teckenfönster
Viktigt! Prefixen 0b och 0h
börjar med en nolla, inte
bokstaven O och följs sedan
av B eller H.
Resultaten börjar med
0b eller 0h för att ange
aktuellt talsystem.
Kapitel 20: Talsystem
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 344 of 6
Skriva in och konvertera talsystem
Oberoende av inställningen för Base måste du alltid ange prefix
när du skriver in tal i binär och hexadecimal form.
Skriva in ett binärt eller
hexadecimalt tal
När du vill skriva in ett binärt tal använder du formen:
0b binärtTal
(till exempel: 0b11100110)
Binärt tal med upp till 32 tecken
Noll, inte bokstaven O följt av bokstaven b
Obs! Du kan skriva in b
alt. h i prefixet, samt
hexadecimala tecknen
A – F, med gemener eller
versaler. Resultatet är
detsamma.
När du vill skriva in ett hexadecimalt tal använder du formen:
0h hexadecimaltTal
(till exempel: 0h89F2C)
Hexadecimalt tal med upp till 8 tecken
Noll, inte bokstaven O följt av bokstaven h
Om du skriver in ett tal utan prefixet 0b eller 0h, som t ex 11, antas
det alltid vara ett decimalt tal. Om du utesluter prefixet 0h men
använder de hexadecimala tecknen A – F hanteras hela talet som ett
variabelnamn.
Konvertera mellan
talsystem
Använd konverteringsoperatorn 4.
heltalsUttryck 4 Bin
heltalsUttryck 4 Dec
heltalsUttryck 4 Hex
Obs! Om talet inte är ett
heltal visas ett
felmeddelande.
När du vill skriva 4, tryck 2 Ž.
Du kan också välja konvertering
mellan talsystem via menyn
MATH/Base.
Konvertera 256 från decimalt till
binärt talsystem:
För binära och hexadecimala tal
måste du ange prefixet 0b alt. 0h.
256 4 Bin
Konvertera 101110 från binärt
till hexadecimalt talsystem:
0b101110 4 Hex
Alternativa metoder för
konverteringar
Resultaten börjar med 0b
eller 0h för att ange
aktuellt talsystem.
I stället för att använda 4 kan du:
Om Base = BIN:
1. Använd 3 (sidan 346) för
att ange inställning för Base
till det talsystem du vill
konvertera till.
Om Base = HEX:
2. Skriv in det värde du vill
konvertera (med rätt prefix)
i grundfönstret och
tryck ¸.
Kapitel 20: Talsystem
345
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 345 of 6
Beräkningar med binära och hexadecimala tal
Alla operationer som använder heltal kan även användas med
hexadecimala och binära tal. Resultaten visas med det
talsystem som är inställt i Base. Resultaten är begränsade till
vissa maxvärden då Base = HEX eller BIN.
Ställa in Base för visning
av resultat
1. Tryck 3 „ för att öppna
sidan 2 i fönstret MODE.
2. Bläddra till inställningen för
Base, tryck B, och välj
önskad inställning.
3. Tryck ¸ för att stänga
fönstret MODE.
Obs! Inställningen för Base
påverkar bara visade
resultat. Du måste alltid
ange prefixet 0h alt. 0b när
du skriver in hexadecimala
och binära tal.
Om Base = HEX:
Inställningarna för Base påverkar
bara visningen av heltal.
Bråk och decimaltal visas alltid i
decimal form.
Resultaten börjar med 0h
för att ange aktuellt.
Division när
Base = HEX alt. BIN
Om du vill försäkra dig om att
resultatet alltid är ett heltal kan
du använda intDiv() i stället
för e.
Begränsningar när
Base = HEX alt. BIN
Om Base = HEX:
Med inställningen Base=HEX eller
BIN visas resultaten av en division
i hexadecimal eller binär form
bara om resultatet är ett heltal.
Tryck ¥ ¸ om du vill visa
resultatet i formen APPROXIMATE.
När Base=HEX alt. BIN sparas heltal internt som ett 32-bitars binärt
tal vilket kan använda talområdet som visas nedan (visas i
hexadecimal och decimal form):
0hFFFFFFFF
ë1
0h80000000
ë2.147.483.648
0h1
1
0h0
0
0h7FFFFFFF
2.147.483.647
Om ett resultat är för stort för att lagras i 32 bitar används en
symmetrisk modulo-operation för att bringa resultatet inom givna
gränser. Alla tal större än 0h7FFFFFFF påverkas av detta. Till
exempel ändras 0h80000000 till 0hFFFFFFFF till negativa värden.
346
Kapitel 20: Talsystem
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 346 of 6
Jämföra eller manipulera enskilda bitar
Med följande operatorer och funktioner kan du jämföra och
manipulera enskilda bitar i binära tal. Du kan skriva in heltal i
valfritt talsystem. Talen konverteras automatiskt till binära tal
för operationen och resultaten visas i aktuellt talsystem inställt
i Base.
Booleska operationer
Obs! Du kan välja dessa
operatorer från menyn
MATH/Base. Exempel på
hur du använder respektive
operator finns i appendix A
längst bak i denna bok.
Operator med syntax
Beskrivning
not heltal
Returnerar förstakomplementet där varje
bit är omvänd.
· heltal
Returnerar andrakomplementet vilket är
samma som förstakomplementet +1.
heltal1 and heltal2
Vid en bitvis jämförelse med and är
resultatet 1 om båda bitarna är 1, annars
är resultatet 0. Det returnerade värdet
motsvarar det resulterande binära värdet.
heltal1 or heltal2
Vid en bitvis jämförelse med or är
resultatet 1 om en av bitarna är 1 och 0
bara om båda bitarna är 0. Det
returnerade värdet motsvarar det
resulterande binära värdet.
heltal1 xor heltal2
Vid en bitvis jämförelse med xor är
resultatet 1 om en av bitarna är 1
(men inte båda). Resultatet är 0 om båda
bitarna är 0 eller om båda bitarna är 1.
Det returnerade värdet motsvarar det
resulterande binära värdet.
Om Base = HEX:
Anta att du skriver in:
0h7AC36 and 0h3D5F
Internt konverteras de
hexadecimala talen till 32-bitars
binära tal.
Om Base = BIN:
Bitarna i de båda talen jämförs
sedan bit för bit.
Obs! Om ett resultat är för
stort för att lagras i 32 bitar
används en symmetrisk
modulo-operation för att
bringa resultatet inom givna
gränser (se sidan 346).
0h7AC36 = 0b00000000000001111010110000110110
and
0h3D5F
and
= 0b00000000000000000011110101011111
0b00000000000000000010110000010110 = 0h2C16
Inledande nollor visas inte i resultatet.
Resultatet visas i det talsystem som är inställt i Base.
Kapitel 20: Talsystem
347
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 347 of 6
Rotera och skifta bitar
Funktion med syntax
Beskrivning
rotate(heltal)
Om #antalSteg är:
– eller –
¦
uteslutet — alla bitar roteras ett steg
till höger (förval är ë 1).
¦
negativt — alla bitar roteras angivet
antal steg till höger.
¦
positivt — alla bitar roteras angivet
antal steg till vänster.
rotate(heltal,#antalSteg)
Obs! Du kan välja dessa
operatorer från menyn
MATH/Base. Exempel på
hur du använder respektive
operator finns i appendix A
längst bak i denna bok.
Vid en rotering till höger roteras biten
längst till höger till den lediga platsen
längst till vänster och tvärt om för en
rotering till vänster.
shift(heltal)
Om #antalSteg är:
– eller –
¦
uteslutet — alla bitar skiftas ett steg
till höger (förval är ë 1).
¦
negativt — alla bitar skiftas angivet
antal steg till höger.
¦
positivt — alla bitar skiftas angivet
antal steg till vänster.
shift(heltal,#antalSteg)
Vid en skiftning till höger försvinner
biten längst till höger och 0 alt 1 sätts in
för att matcha biten längst till vänster.
Vid en skiftning till vänster försvinner
biten längst till vänster och 0 sätts in
längst till höger.
Om Base = HEX:
Anta att du skriver in:
shift(0h7AC36)
Internt konverteras de
hexadecimala talen till 32-bitars
binära tal.
Om Base = BIN:
Bitarna i de båda talen jämförs
sedan bit för bit.
Varje bit skiftas till höger.
Obs! Om ett resultat är för
stort för att lagras i 32 bitar
används en symmetrisk
modulo-operation för att
bringa resultatet inom givna
gränser (se sidan 346).
0h7AC36 = 0b00000000000001111010110000110110
Lägger till 0 om den vänstra biten är 0,
eller 1 om den vänstra biten är 1.
Försvinner
0b00000000000000111101011000011011 = 0h3D61B
Inledande nollor visas inte i resultatet.
Resultatet visas i det talsystem som är inställt i Base.
348
Kapitel 20: Talsystem
20NUMBAS.SWE TI-89/TI-92 Plus: Number Bases (Swedish) Susan Gullord Revised: 02/07/00 2:02 PM Printed: 02/17/00 9:08 AM Page 348 of 6