Kapitel 20: Talsystemer - SmartData
Kapitel 20: Talsystemer - SmartData
Kapitel 20: Talsystemer - SmartData
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Kapitel</strong> <strong>20</strong>:<br />
<strong>Talsystemer</strong><br />
<strong>20</strong><br />
Bemærk: I menuen<br />
MATH/Base kan du vælge<br />
på en liste over operationer<br />
med relation til talsystemer.<br />
Resumé af talsystemer .......................................................................... 344<br />
Indtastning og omregning af talsystemer............................................ 345<br />
Udførelse af matematiske beregninger med hexadecimale og<br />
binære tal........................................................................................... 346<br />
Sammenligning eller manipulation af bits .......................................... 347<br />
Uanset hvor du indtaster et heltal i en beregning med<br />
TI-89 / TI-92 Plus kan det indtastes i decimal, binær eller<br />
hexadecimal form. Du kan også med Base-tilstanden angive<br />
formatet til visning af heltalsresultater. Resultater med brøker og<br />
flydende decimal vises altid i decimal form.<br />
Binære tal benytter 0 og 1 i<br />
totalssystemet:<br />
100<br />
<strong>20</strong> ù 0 = +0<br />
21 ù 0 = +0<br />
22 ù 1 = +4<br />
Hexadecimale tal anvender<br />
tallene 0 – 9 og A – F i 16talssystemet:<br />
A8F<br />
Med TI-89 / TI-92 Plus kan du omregne et tal til andre talsystemer,<br />
f.eks. 100 binært = 4 decimalt og A8F hex = 2703 decimalt.<br />
Hexadecimale tal anvendes ofte som kort notation for lange<br />
binære tal, der er svære at huske, f.eks.:<br />
1010 1111 0011 0111<br />
A<br />
16 0 ù F = +15<br />
16 1 ù 8 = +128<br />
16 2 ù A = +2560<br />
F 3 7<br />
Dec<br />
Base 10<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
Bin<br />
Base 2<br />
0000<br />
0001<br />
0010<br />
0011<br />
0100<br />
0101<br />
0110<br />
0111<br />
1000<br />
1001<br />
1010<br />
1011<br />
1100<br />
1101<br />
1110<br />
1111<br />
10000<br />
Hex<br />
Base 16<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
10<br />
AF37 hexadecimalt er normalt lettere at<br />
arbejde med end 1010111100110111 binært.<br />
Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere<br />
binære tal bit for bit.<br />
<strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong> 343
Resumé af talsystemer<br />
Beregn 10 binært (totalssystem) + F hexadecimalt (16-talssystem) + 10 decimalt (10talssystem).<br />
Anvend derefter operatoren 4 til at omregne et heltal fra ét talsystem til et<br />
andet. Se til sidst, hvordan ændringen af talsystemet påvirker de viste resultater.<br />
Trin<br />
1. Vis dialogboksen MODE, side 2.<br />
Vælg i Base-tilstand DEC som<br />
standardtalsystem.<br />
Heltalsresultater vises i henhold til den<br />
valgte Base-tilstand. Resultater med<br />
brøk og flydende decimal vises altid i<br />
decimal form.<br />
2. Beregn 0b10+0hF+10.<br />
For at indtaste et binært eller hexadecimalt<br />
tal skal du anvende præfikset 0b eller 0h<br />
(Nul og bogstavet B eller H). Ellers<br />
behandles indtastningen som et decimalt<br />
tal.<br />
3. Læg 1 til resultatet, og omregn<br />
det til binært.<br />
2 viser omregningsoperatoren 4.<br />
4. Læg 1 til resultatet, og omregn<br />
det til hexadecimalt.<br />
5. Læg 1 til resultatet, og lad det<br />
forblive decimalt, som er valgt<br />
som standard.<br />
6. Skift Base-tilstand til HEX.<br />
Ved Base = HEX eller BIN, er<br />
resultatets størrelse underlagt visse<br />
begrænsninger. Se side 346.<br />
7. Beregn 0b10+0hF+10.<br />
8. Skift Base-tilstand til BIN.<br />
344 <strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong><br />
³<br />
TI.89<br />
Taster<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 1 ¸<br />
O j B10«O<br />
2HF<br />
j«10<br />
¸<br />
« 1 2<br />
2BIN<br />
j¸<br />
« 1 2<br />
2HEX<br />
j¸<br />
›<br />
TI.92 Plus<br />
Taster Display<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 1 ¸<br />
OB10«O<br />
HF<br />
«10<br />
¸<br />
«12<br />
BIN<br />
¸<br />
«12<br />
HEX<br />
¸<br />
« 1 ¸ « 1 ¸<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 2 ¸<br />
O j B10«O<br />
2HF<br />
j«10<br />
¸<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 3 ¸<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 2 ¸<br />
OB10«O<br />
HF<br />
«10<br />
¸<br />
9. Genindtast 0b10+0hF+10. ¸ ¸<br />
3„<br />
(Anvend D til at<br />
flytte til Basetilstand)<br />
B 3 ¸<br />
Vigtigt: Præfikset 0b eller 0h<br />
er et nul, ikke bogstavet O,<br />
efterfulgt af B eller H.<br />
Resultaterne anvender<br />
præfikserne 0b eller 0h<br />
til at vise det benyttede<br />
talsystem.
Indtastning og omregning af talsystemer<br />
Indtastning af et binært<br />
eller hexadecimalt tal<br />
Bemærk: Du kan indtaste<br />
både b'et eller h'et i præfikset<br />
og de hexadecimale tegn<br />
A - F med både store og<br />
små bogstaver.<br />
Omregning mellem<br />
talsystemer<br />
Bemærk: Hvis<br />
indtastningen ikke er et<br />
heltal, vises en Domain<br />
error-fejlmelding.<br />
Andre<br />
omregningsmetoder<br />
Uanset talsystem-tilstanden skal du altid anvende det korrekte<br />
præfiks ved indtastning af et binært eller hexadecimalt tal.<br />
Indtast binære tal på formen:<br />
0b binærtTal (for eksempel: 0b11100110)<br />
Binært tal med op til 32 cifre<br />
Nul, ikke bogstavet O, efterfulgt af bogstavet b<br />
Indtast hexadecimale tal på formen:<br />
0h hexadecimaltTal (for eksempel: 0h89F2C)<br />
Hexadecimalt tal med op til 8 cifre<br />
Nul, ikke bogstavet O, efterfulgt af bogstavet h<br />
Hvis du indtaster et tal som 11 uden præfikset 0b eller 0h, behandles<br />
det altid som decimaltal. Hvis præfikset 0h undlades på et<br />
hexadecimalt tal med A – F, behandles hele indtastningen eller dele<br />
af den som en variabel.<br />
Anvend omregningsoperatoren 4.<br />
heltalsUdtryk 4 Bin<br />
heltalsUdtryk 4 Dec<br />
heltalsUdtryk 4 Hex<br />
Eksempel: Omregning af 256<br />
fra decimaltal til binært:<br />
256 4 Bin<br />
Omregning af 101110 fra<br />
binært til hexadecimalt:<br />
0b101110 4 Hex<br />
I stedet for at anvende 4 kan du:<br />
1. Anvende 3 (side 346) til<br />
at indstille det talsystem,<br />
du vil omregne til.<br />
2. I hovedskærmbilledet skrive<br />
det tal, du vil omregne (med<br />
korrekt præfiks), og trykke<br />
på ¸.<br />
Tryk på 2 for at få 4. Du kan<br />
også vælge omregning mellem<br />
talsystemer i menuen MATH/Base.<br />
Ved binære eller hexadecimale<br />
indtastninger skal anvendes<br />
præfikset 0b eller 0h.<br />
Resultaterne anvender<br />
præfikserne 0b eller 0h til at<br />
vise det benyttede talsystem.<br />
Hvis Base-tilstand = BIN:<br />
Hvis Base-tilstand = HEX:<br />
<strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong> 345
Udførelse af matematiske beregninger med hexadecimale og binære tal<br />
Indstilling af talsystem til<br />
viste resultater<br />
Bemærk: Base-tilstanden<br />
berører kun outputtet. Anvend<br />
altid præfikset 0h eller 0b ved<br />
indtastning af et hexadecimalt<br />
eller binært tal.<br />
Division når Base = HEX<br />
eller BIN<br />
Begrænsinger i størrelse<br />
når Base = HEX eller BIN<br />
346 <strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong><br />
Ved alle operationer, der anvender et heltal, kan du indtaste<br />
et hexadecimalt eller binært tal. Resultater vises i det<br />
anvendte talsystem. Men resultatet er underlagt visse<br />
begrænsninger i størrelse, når Base = HEX eller BIN.<br />
1. Tryk på 3„for at vise<br />
side 2 i MODE-skærmbilledet.<br />
2. Rul til Base-tilstanden, tryk<br />
på B, og vælg den ønskede<br />
indstilling.<br />
3. Tryk på ¸ for at lukke<br />
MODE-skærmbilledet.<br />
Base-tilstanden styrer kun det<br />
viste format for heltal.<br />
Resultater med brøk eller<br />
flydende decimal vises altid i<br />
decimalform.<br />
Hvis Base-tilstand = HEX:<br />
Når Base=HEX eller BIN vises<br />
I Hvis Base-tilstand = HEX:<br />
et divisionsresultat kun i<br />
hexadecimal eller binær form,<br />
hvis resultataet er et heltal.<br />
Til at sikre, at en division altid<br />
giver et heltal anvendes intDiv()<br />
Tryk på ¥ ¸ for at vise<br />
i stedet for e.<br />
resultatet på formen APPROXIMATE.<br />
Når Base=HEX eller BIN gemmes et heltalsresultat internt som et<br />
fortegnsbestemt 32-bit binært tal, der anvender området (vist<br />
hexadecimalt og decimalt):<br />
0h80000000<br />
ë2.147.483.648<br />
0hFFFFFFFF<br />
ë1<br />
0h0<br />
0<br />
Præfikset 0h i<br />
resultatet viser det<br />
benyttede talsystem.<br />
0h7FFFFFFF<br />
2.147.483.647<br />
Hvis et resultat fylder for meget til at blive gemt på en<br />
fortegnsbestemt 32-bit binær form, bringer en symmetrisk modulusoperation<br />
resultatet ind i området. Alle tal, der fylder mere end<br />
0h7FFFFFFF, berøres. Tallene 0h80000000 til og med 0hFFFFFFFF<br />
bliver f.eks. negative.<br />
0h1<br />
1
Sammenligning eller manipulation af bits<br />
Boolske operatorer<br />
Bemærk: Disse operatorer kan<br />
vælges i menuen MATH/Base.<br />
Se et eksempel med hver<br />
operator i Bilag A i denne bog.<br />
Bemærk: Hvis du indtaster et<br />
heltal, der fylder for meget til at<br />
blive gemt i en fortegnsbestemt<br />
32-bit binær form, bringer en<br />
symmetrisk modulusoperation<br />
værdien ind i det rigtige område<br />
(side 346).<br />
Med følgende operatorer og funktioner kan du sammenligne<br />
eller manipulere bits i et binært tal. Du kan indtaste et heltal i<br />
ethvert talsystem. Indtastningerne omregnes automatisk til<br />
binær form til bitvis behandling, og resultater vises i det valgte<br />
talsystem.<br />
Operator med syntaks Beskrivelse<br />
not heltal Giver 1-komplementet, hvor hver bit<br />
vendes.<br />
· heltal Giver 2-komplementet, der er 1komplementet<br />
+ 1.<br />
heltal1 and heltal2 I en bit-for-bit sammenligning med and er<br />
resultatet 1, hvis begge bits er 1. Ellers er<br />
resultatet 0. Den returnerede værdi udgør<br />
bitresultatet<br />
heltal1 or heltal2 I en bit-for-bit sammenligning med or er<br />
resultatet 1, hvis én af bittene er 1.<br />
Resultatet er kun 0, hvis begge bits er 0.<br />
Den returnerede værdi udgør<br />
bitresultatet.<br />
heltal1 xor heltal2 I en bit-for-bit sammenligning med xor er<br />
resultatet 1, hvis én af bittene (men ikke<br />
begge) er 1. Resultatet er 0, hvis begge<br />
bits er 0, eller begge bits er 1. Den<br />
returnerede værdi udgør bitresultatet.<br />
Antag, at du indtaster:<br />
0h7AC36 and 0h3D5F<br />
Internt omregnes de<br />
hexadecimale heltal til et<br />
fortegnsbestemt 32-bit binært<br />
tal.<br />
Derefter sammenlignes de<br />
modsvarende bits.<br />
Hvis Base-tilstand = HEX:<br />
Hvis Base-tilstand = BIN:<br />
0h7AC36 = 0b00000000000001111010110000110110<br />
and and<br />
0h3D5F = 0b00000000000000000011110101011111<br />
0b00000000000000000010110000010110 = 0h2C16<br />
Foranstillede nuller vises ikke<br />
i resultatet.<br />
Resultatet vises i det benyttede talystem.<br />
<strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong> 347
Rotation og flytning af<br />
bits<br />
Bemærk: Disse funktioner<br />
kan vælges i menuen<br />
MATH/Base. Se<br />
eksemplerne med hver<br />
funktion i Bilag A i denne<br />
bog.<br />
Bemærk: Hvis du indtaster et<br />
heltal, der fylder for meget til at<br />
blive gemt i en fortegnsbestemt<br />
32-bit binær form, bringer en<br />
symmetrisk modulusoperation<br />
værdien ind i det rigtige område<br />
(side 346).<br />
348 <strong>Kapitel</strong> <strong>20</strong>: <strong>Talsystemer</strong><br />
Funktion med syntaks Beskrivelse<br />
rotate(helta)<br />
– eller –<br />
rotate(heltal,antalRotationr)<br />
shift(heltal)<br />
– eller –<br />
shift(heltal,antalRyk)<br />
Tag indtastningen:<br />
shift(0h7AC36)<br />
Internt omregnes det<br />
hexadecimale heltal til et 32-bit<br />
binært tal.<br />
Derefter udføres rykket på det<br />
binære tal.<br />
Hvis antalRotationer:<br />
¦ undlades — bittene roterer én gang<br />
til højre (Standardværdi er ë 1).<br />
¦ er negativ — bittene roterer det<br />
angivne antal gange til højre.<br />
¦ er positiv — bittene roterer det<br />
angivne antal gange til venstre.<br />
I en højrerotation roterer bitten yderst<br />
til højre til pladsen yderst til venstre og<br />
omvendt ved en venstrerotation.<br />
Hvis antalRyk:<br />
Alle bits rykker til højre.<br />
¦ undlades — rykker bittene én plads<br />
til højre (Standardværdi er ë 1).<br />
¦ er negativ — rykker bittene det<br />
angivne antal pladser til højre.<br />
¦ er positiv — rykker bittene det<br />
angivne antal pladser til venstre.<br />
I et ryk til højre fjernes bitten længst til<br />
højre, og 0 eller 1 indsættes, så det<br />
passer med yderste bit til venstre. I et<br />
ryk til venstre fjernes bitten længst til<br />
venstre, og 0 indsættes som bitten<br />
længst til højre.<br />
Hvis Base-tilstand = HEX:<br />
Hvis Base-tilstand = BIN:<br />
0h7AC36 = 0b00000000000001111010110000110110<br />
Indsætter 0, hvis bitten yderst til<br />
venstre er 0, eller 1, hvis bitten<br />
yderst til venstre er 1.<br />
0b00000000000000111101011000011011 = 0h3D61B<br />
Foranstillede nuller vises<br />
ikke i resultatet.<br />
Resultatet vises i det benyttede talsystem.<br />
Falder væk