Kappale 20: Kantaluvut



Samankaltaiset tiedostot
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

811120P Diskreetit rakenteet

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

Ohjelmoijan binaarialgebra ja heksaluvut

SISÄLLYS - DIGITAALITEKNIIKKA

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

ANSI/IEEE Std

Yleisohje... 2 Peruslaskutoimitukset... 8 Tieteislaskutoimitukset Tilastolaskenta... 17

LUKUJÄRJESTELMÄT. Kymmenjärjestelmä eli desimaalijärjestelmä. Binäärilukujärjestelmä

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle = Luvussa ei esiinny missään kohtaa numeroa 0.

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

TI-30X II funktiolaskimen pikaohje

fx-100ms fx-115ms (fx-912ms) Käyttäjän opas 2 (Lisätoiminnot)

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

5. Laskutoimitukset eri lukujärjestelmissä

Tässä riisinjyvien määrät jokaisessa ruudussa on laskettava yhteen. Tällöin tuloksena on

Palautteita. Tutoriaalit olivat vaikeat! Totta, tentti on onneksi helpompi

Perustietotyypit ja laskutoimitukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

HP 6S -tieteislaskin

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

Vektorit. Vektorin luominen Vektorin tuominen näyttöön Vektorin koon ja alkioiden muokkaaminen Vektorin poistaminen...

Sisäisten vakioiden ja omien vakioiden käyttö Mittayksiköiden muunnokset Lukujärjestelmät Kompleksilukujen käyttö...

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Diskreetit rakenteet. Juha Kortelainen

Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä.

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

Digitaalitekniikan matematiikka Harjoitustehtäviä

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Ohjeita LINDOn ja LINGOn käyttöön

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Moduli 4: Moniulotteiset taulukot & Bittioperaatiot

Luvuilla laskeminen. Esim. 1 Laske

Ohjelmoinnin perusteet Y Python

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

TAULUKON TEKEMINEN. Sisällysluettelo

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Yhden bitin tiedot. Digitaalitekniikan matematiikka Luku 1 Täsmätehtävä Tehtävä 1. Luettele esimerkkejä yhden bitin tiedoista.

Binäärioperaatiot Tiedostot ja I/O

KL1500 Ohjelmointi- ja toimintaohjeet

Kappale 14: Jaetut näytöt

Python-ohjelmointi Harjoitus 2

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Huom! (5 4 ) Luetaan viisi potenssiin neljä tai viisi neljänteen. 7.1 Potenssin määritelmä

KAMPUSSALASANAN VAIHTAMINEN (SAVONIA-AMK KÄYTTÄJÄT)

OpenOffice.org Base 3.1.0

Kriittistä: ENNEN KELA-TILAUSNUMEROA EI SAA MISSÄÄN TAPAUKSESSA SYÖTTÄÄ MITTARILLE.

Johdanto: Jaetut näytöt Jaetun näytön asetukset ja näytöstä poistuminen Aktiivisen sovelluksen valitseminen

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

8.1 Murtoluvun määritelmä - murtoluvulla tarkoitetaan aina osaa (osia) jostakin kokonaisuudesta

Binäärioperaatiot Tiedostot ja I/O

TI TestGuard. Pikaopas

Elisa Puheratkaisu Vakio Pääkäyttäjän ohjeet

4 Google. Eetu Kahelin ja Kimi Syrjä DAT 17

BL40A1711 Johdanto digitaalielektroniikkaan: Johdanto ja lukujärjestelmät

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot

Lunastuspoistajat AJONEUVOJEN REKISTERÖINTI

4 Yleinen potenssifunktio ja polynomifunktio

Hockeyliitto - Torneopal

Muuttujien määrittely

AJONEUVOHALLINTOKESKUS. Ennakkotehtävä

KL1000 OHJELMOINTI- JA KÄYTTÖOHJEET

Ohjelmoinnin perusteet Y Python

Harjoitus 3 (viikko 39)

Ohjelmoinnin perusteet Y Python

1.1. Järjestelmän käynnistys

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Luento 6 Tiedon esitysmuodot


Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

KL1000 Ohjelmointi-ja toimintaohjeet

TIN15. Nollaa, korjaa ja palauta. Näytön merkit. Yleistä. Perustoiminnot. Tilojen asetusvalikot. Näyttö ja selaus "! # $

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Tieteislaskin. 1997, 1999, 2003 Texas Instruments Incorporated 1-FIN

Lisää perustietotyypeistä

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Luento 6 Tiedon esitysmuodot. Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?)

A. Peruskäyttöohje Digilehtiö

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

PERUSKOULUSTA PITKÄLLE

Hockeyliitto -Torneopal

KÄYTTÖOHJEET Serie RV

Toimittajaportaalin pikaohje

OHJELMOINTILAITE 10/50

GSM ALOITUSKITIN PIKAOHJELMOINTIOHJE

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Ohjelmoinnin perusteet Y Python

Tiedon tyypit Kommunikointi ihmisen kanssa. Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Suorittimen ymmärtämä tieto (9)

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

TDC Skaala. PIKAKÄYTTÖOHJE SPA9x2 PUHELIMILLE

Ohjelmoinnin peruskurssi Y1

Luento 6 Tiedon esitysmuodot

Transkriptio:

Kappale 20: Kantaluvut 20 Johdanto: Kantaluvut... 328 Kantalukujen syöttäminen ja muuntaminen... 329 Matemaattiset toiminnot Hex- ja Bin-luvuilla... 330 Bittien vertaileminen ja manipulointi... 331 Huom! MATH/Base-valikon avulla on helppo valita useita kantalukuihin liittyviä toimintoja. Kokonaisluvut voidaan syöttää TI-89-laskimeen desimaali-, binaari- tai heksadesimaalimuodossa. Esitettävän tuloksen muoto voidaan määritellä Base-tilan asetuksilla. Murtoluku- ja liukulukutulokset esitetään aina desimaalimuodossa. Binaariluvut käyttävät base 2- esitystavassa lukuja 0 ja 1: 100 2 0 ù 0 = +0 2 1 ù 0 = +0 2 2 ù 1 = +4 Heksadesimaaliluvut käyttävät base 16 - esitystavassa lukuja 0 9 ja kirjaimia A F: A8F 16 0 ù F = +15 16 1 ù 8 = +128 16 2 ù A = +2560 Dec Base 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bin Base 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000 Hex Base 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Voit käyttää TI-89-laskinta luvun muuntamiseen kannasta toiseen. Esimerkiksi 100 binaari = 4 desimaali ja A8F heksadesimaali = 2703 desimaali. Pitkät, vaikeasti muistettavat binaariluvut pikakirjoitetaan usein heksadesimaalimuotoisina. Esimerkiksi: 1010 1111 0011 0111 A F 3 7 Heksadesimaalia AF37 on usein helpompi käsitellä kuin binaaria 1010111100110111. TI-89:ssa voit vertailla binaarilukuja ja manipuloida niitä bitti kerrallaan. Kappale 20: Kantaluvut 327

Johdanto: Kantaluvut Laske yhteen luvut binaari-10 (kanta 2), heksadesimaali-f (kanta 16) ja desimaali-10 (kanta 10). Vaihda sitten kokonaisluvun kanta konversio-operaattorilla 4. Huomaa, kuinka Base-tilan muuttaminen vaikuttaa esitettäviin tuloksiin. Vaihe Näppäimet Näyttö 1. Ota esiin MODE-valintaikkuna, sivu 2. Valitse Base-tilaksi DEC. Kokonaislukutulokset esitetään Base-tilan määräämässä muodossa. Murtoluku- ja liukulukutulokset esitetään aina desimaalimuodossa. 2. Laske 0b10+0hF+10. Binaarisyöte vaatii etuliitteen 0b ja heksadesimaalisyöte etuliitteen 0h (nolla ja B - tai H-kirjain). Ilman etuliitettä syötettä käsitellään desimaalilukuna. 3. Lisää tulokseen numero 1 ja muunna se binaariseksi. 2 avaa 4-konversio-operaattorin. 4. Lisää tulokseen numero 1 ja muunna se heksadesimaaliseksi. 5. Lisää tulokseen numero 1 ja jätä se oletusdesimaalitilaan. 3 (siirry Base-tilaan merkillä D ) B 1 O j B10«O 2 HF j«10 «1 2 2 BIN j «1 2 2 HEX j «1 Tärkeää: Etuliitteessä 0b tai 0h on nolla, ei O-kirjain. Nollaa seuraa B- tai H-kirjain. 6. Vaihda Base-tilaksi HEX. Kun Base = HEX tai BIN, tuloksen suuruutta rajoittavat eräät tilarajoitukset. Lisätietoja sivulla 330. 3 (siirry Base-tilaan merkillä D ) B 2 Tuloksen kanta merkitään etuliitteellä 0b tai 0h. 7. Laske 0b10+0hF+10. O j B10«O 2 HF j«10 8. Vaihda Base-tilaksi BIN. 3 (siirry Base-tilaan merkillä D ) B 3 9. Syötä uudelleen 0b10+0hF+10. 328 Kappale 20: Kantaluvut

Kantalukujen syöttäminen ja muuntaminen Base-tilasta riippumatta pitää binaari- tai heksadesimaalilukua syötettäessä käyttää oikeaa etuliitettä. Binaari- tai heksadesimaaliluvun syöttäminen Huom! Etuliitteen kirjaimet b ja h, sekä heksadesimaalikirjaimet A F voidaan kirjoittaa pienillä tai isoilla kirjaimilla. Syötä binaariluku muodossa: 0b binarynumber (esimerkiksi: 0b11100110) Korkeintaan 32-numeroinen binaariluku Nolla, ei kirjain O, ja kirjain b Syötä heksadesimaaliluku muodossa: 0h hexadecimalnumber (esimerkiksi: 0h89F2C) Korkeintaan 8-numeroinen heksadesimaaliluku Nolla, ei kirjain O, ja kirjain h Lukua, joka syötetään ilman etuliitettä 0b tai 0h, käsitellään aina desimaalilukuna. Jos kirjaimia A F sisältävä heksadesimaaliluku syötetään ilman etuliitettä 0h, käsitellään syötettä tai sen osaa muuttujana. Kantalukujen muuntaminen Huom! Jos syöte ei ole kokonaisluku, näyttöön tulee Domain error -virheilmoitus. Käytä 4-konversio-operaattoria. integerexpression 4 Bin integerexpression 4 Dec integerexpression 4 Hex Esimerkiksi desimaaliluvun 256 muuntaminen binaariseksi: 256 4 Bin Binaariluvun 101110 muuntaminen heksadesimaaliksi: 0b101110 4 Hex Operaattorin 4 saat näppäilemällä 2. Kantakonversioita voi valita myös MATH/Base-valikosta. Binaari- tai heksadesimaalisyöte vaatii etuliitteen 0b tai 0h. Tuloksen kanta merkitään etuliitteellä 0b tai 0h. Vaihtoehtoiset konversiomenetelmät 4-operaattorin sijasta voit: 1. Asettaa Base-tilan haluamaasi kantaan 3 - operaattorilla (sivu 330). 2. Kirjoittaa Home-näytössä luvun, jonka haluat muuntaa (muista oikea etuliite). Paina. Jos Base-tila = BIN: Kappale 20: Kantaluvut 329

Matemaattiset toiminnot Hex- ja Bin-luvuilla Kaikissa toiminnoissa, joissa käytetään kokonaislukua, voidaan syöttää binaari- tai heksadesimaaliluku. Ratkaisut esitetään Base-tilan mukaisesti. Ratkaisujen koko on kuitenkin rajoitettu, kun Base = HEX tai BIN. Tulosten Base-tilan asettaminen Huom! Base-tila vaikuttaa vain tulokseen. Käytä aina etuliitettä 0h tai 0b kun syötät heksadesimaali- tai binaarilukuja. 1. Ota esiin MODE-näytön sivu 2 näppäilemällä 3. 2. Vieritä Base-tilaan, paina B ja valitse haluamasi asetus. 3. Sulje MODE-näyttö painamalla. Base-tila määrää vain kokonaislukutulosten esitysmuodon. Murtoluku- ja liukulukutulokset esitetään aina desimaalimuodossa. Etuliite 0h tuloksessa määrittelee kannan. Jakaminen, kun Base = HEX tai BIN Kun Base=HEX tai BIN, jakotulos esitetään heksadesimaali- tai binaarimuodossa vain jos se on kokonaisluku. Jakotulos on aina kokonaisluku, jos käytät e:n asemesta toimintoa intdiv(). Näppäile niin saat tuloksen muodossa APPROXIMATE. Kokorajoitukset, kun Base = HEX tai BIN Kun Base=HEX tai BIN, kokonaislukutulos tallennetaan sisäisesti merkittynä, 32-bittisenä binaarilukuna, jonka vaihteluväli on (heksadesimaalisena ja desimaalisena): 0hFFFFFFFF ë1 0h1 1 0h80000000 ë2,147,483,648 0h0 0 0h7FFFFFFF 2,147,483,647 Jos tulos on liian laaja tallennettavaksi merkittynä, 32-bittisenä binaarimuotona, symmetrinen moduulitoiminto tuo tuloksen vaihteluvälin sisään. Tämä koskee lukuja, jotka ovat suurempia kuin 0h7FFFFFFF. Esimerkiksi luvut välillä 0h80000000 0hFFFFFFFF muuttuvat negatiivisiksi. 330 Kappale 20: Kantaluvut

Bittien vertaileminen ja manipulointi Seuraavilla operaattoreilla ja funktioilla voit vertailla tai manipuloida binaariluvun bittejä. Voit syöttää kokonaisluvun haluamassasi kantalukumuodossa. Syötteesi muutetaan automaattisesti binaarimuotoon operaatiota varten ja tulokset esitetään Base-tilan mukaisesti. Boolen operaattorit Huom! Boolen operaattorit valitaan MATH/Basevalikosta. Esimerkkejä kaikkien operaattoreiden käytöstä Liitteessä A. Operaattori ja rakenne not integer Kuvaus Yhden komplementti, jossa jokainen bitti on käännetty. integer Kahden komplementti, joka on yhden komplementti + 1. integer1 and integer2 integer1 or integer2 integer1 xor integer2 Kun bittejä vertaillaan and-operaattorilla bitti kerrallaan, tulos on 1 jos molemmat bitit ovat ykkösiä. Muussa tapauksessa tulos on 0. Palautettu arvo esittää bittituloksia. Kun bittejä vertaillaan or-operaattorilla bitti kerrallaan, tulos on 1 jos toinen biteistä on 1. Tulos on 0 vain, jos molemmat bitit ovat nollia. Palautettu arvo esittää bittituloksia. Kun bittejä vertaillaan xor-operaattorilla bitti kerrallaan, tulos on 1 jos toinen biteistä (mutta ei molemmat) on 1. Tulos on 0, jos molemmat bitit ovat nollia tai molemmat ovat ykkösiä. Palautettu arvo esittää bittituloksia. Jos syötetään: 0h7AC36 and 0h3D5F Heksadesimaaliset kokonaisluvut muunnetaan sisäisesti merkatuiksi, 32-bittisiksi binaariluvuiksi. Vastaavia bittejä vertaillaan. Jos Base-tila = BIN: Huom! Jos syötetty kokonaisluku on liian suuri muutettavaksi merkattuun 32- bittiseen binaarimuotoon, arvo tuodaan käyvän vaihteluvälin sisään symmetrisellä moduulitoiminnolla (sivu 330). 0h7AC36 = 0b00000000000001111010110000110110 and and 0h3D5F = 0b00000000000000000011110101011111 0b00000000000000000010110000010110 = 0h2C16 Etunollia ei näytetä ratkaisussa. Tulos esitetään Base-tilan mukaisesti. Kappale 20: Kantaluvut 331

Bittien kierto ja vaihto Huom! Funktiot valitaan MATH/Base-valikosta. Esimerkkejä kaikkien operaattoreiden käytöstä Liitteessä A. Funktio ja rakenne rotate(integer) tai rotate(integer,#ofrotations) shift(integer) tai shift(integer,#ofshifts) Kuvaus Jos #ofrotations: jätetään pois, bitit kiertävät kerran oikealle (oletus on ë 1). on negatiivinen, bitit kiertävät oikealle niin monta kertaa, kuin on määritetty. on positiivinen, bitit kiertävät vasemmalle niin monta kertaa, kuin on määritetty. Kun kierto on oikealle, kiertää oikeanpuoleisin bitti vasemmanpuoleiseksi, ja päinvastoin kun kierto on vasemmalle. Jos #ofshifts: jätetään pois, bitit vaihtavat kerran oikealle (oletus on ë 1). on negatiivinen, bitit vaihtavat oikealle niin monta kertaa, kuin on määritetty. on positiivinen, bitit vaihtavat vasemmalle niin monta kertaa, kuin on määritetty. Vaihdossa oikealle oikeanpuoleisin bitti tiputetaan pois ja sen tilalle laitetaan 0 tai 1 täsmäämään vasemmanpuoleisimman bitin kanssa. Vaihdossa vasemmalle vasemmanpuoleisin bitti tiputetaan pois ja oikeanpuoleisimmaksi bitiksi laitetaan 0. Jos syötetään: shift(0h7ac36) Heksadesimaalinen kokonaisluku muunnetaan sisäisesti merkatuksi 32-bittiseksi binaariluvuksi. Jos Base-tila = BIN: Sitten vaihto-komentoa sovelletaan binaarilukuun. Jokainen bitti siirtyy oikealle. Huom! Jos syötetty kokonaisluku on liian suuri muutettavaksi merkattuun 32-bittiseen binaarimuotoon, arvo tuodaan käyvän vaihteluvälin sisään symmetrisellä moduulitoiminnolla (sivu 330). 0h7AC36 = 0b00000000000001111010110000110110 Lisää nollan, jos vasemmanpuoleisin bitti on 0, tai ykkösen, jos vasemmanpuoleisin bitti on 1. 0b00000000000000111101011000011011 = 0h3D61B Etunollia ei näytetä ratkaisussa. Ratkaisu esitetään Base tilan mukaisesti. Tiputetaan 332 Kappale 20: Kantaluvut