Tietokoneen mysteeri bitit ja data
|
|
- Kirsti Korhonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Tietokoneen mysteeri bitit ja data Petteri Kaski Tietotekniikan laitos Aalto-yliopisto CS-A1120 Ohjelmointi helmikuuta
2 Tuhat miljoonaa laskutoimitusta sekunnissa def test(m: Long) = { var i = 1L var s = 0L } while(i <= m) { s = s + i i = i + 1 } s // s = m val NANOS_PER_SEC = 1e9 val test_start_time = System.nanoTime test( l) val test_end_time = System.nanoTime val test_duration = test_end_time - test_start_time println("test took %.2f seconds".format(test_duration/nanos_per_sec))
3 Intel Haswell konekieliesimerkki (***) 1029: c4 e2 7d vbroadcastsd (%rdx),%ymm0 102e: c4 e2 7d 19 0c 0a vbroadcastsd (%rdx,%rcx,1),%ymm1 1034: c4 e2 7d a vbroadcastsd (%rdx,%rcx,2),%ymm2 103a: c2 08 add $0x8,%rdx 103e: c5 fd vmovapd (%rax),%ymm3 1042: c4 e2 fd b8 e3 vfmadd231pd %ymm3,%ymm0,%ymm4 1047: c4 e2 f5 b8 eb vfmadd231pd %ymm3,%ymm1,%ymm5 104c: c4 e2 ed b8 f3 vfmadd231pd %ymm3,%ymm2,%ymm6 1051: c5 fd vmovapd 0x20(%rax),%ymm3 1056: c4 e2 fd b8 fb vfmadd231pd %ymm3,%ymm0,%ymm7 105b: c4 62 f5 b8 c3 vfmadd231pd %ymm3,%ymm1,%ymm8 1060: c4 62 ed b8 cb vfmadd231pd %ymm3,%ymm2,%ymm9 1065: c5 fd vmovapd 0x40(%rax),%ymm3 106a: c4 62 fd b8 d3 vfmadd231pd %ymm3,%ymm0,%ymm10 106f: c4 62 f5 b8 db vfmadd231pd %ymm3,%ymm1,%ymm : c4 62 ed b8 e3 vfmadd231pd %ymm3,%ymm2,%ymm : c5 fd vmovapd 0x60(%rax),%ymm3 107e: c4 62 fd b8 eb vfmadd231pd %ymm3,%ymm0,%ymm : c4 62 f5 b8 f3 vfmadd231pd %ymm3,%ymm1,%ymm : c4 62 ed b8 fb vfmadd231pd %ymm3,%ymm2,%ymm15 108d: c8 add %rcx,%rax 1090: 48 ff cb dec %rbx 1093: jne 1029 Esimerkki: Matriisikertolaskualirutiinin sisin silmukka Intel x86 64 konekielellä käyttäen hyväksi Haswell- mikroarkkitehtuurin tukemia AVX2 & FMA -käskykantalaajennuksia
4 ? 1029: c4 e2 7d vbroadcastsd (%rdx),%ymm0 102e: c4 e2 7d 19 0c 0a vbroadcastsd (%rdx,%rcx,1),%ymm1 1034: c4 e2 7d a vbroadcastsd (%rdx,%rcx,2),%ymm2 103a: c2 08 add $0x8,%rdx 103e: c5 fd vmovapd (%rax),%ymm3 1042: c4 e2 fd b8 e3 vfmadd231pd %ymm3,%ymm0,%ymm4 1047: c4 e2 f5 b8 eb vfmadd231pd %ymm3,%ymm1,%ymm5 104c: c4 e2 ed b8 f3 vfmadd231pd %ymm3,%ymm2,%ymm6 1051: c5 fd vmovapd 0x20(%rax),%ymm3 1056: c4 e2 fd b8 fb vfmadd231pd %ymm3,%ymm0,%ymm7 105b: c4 62 f5 b8 c3 vfmadd231pd %ymm3,%ymm1,%ymm8 1060: c4 62 ed b8 cb vfmadd231pd %ymm3,%ymm2,%ymm9 1065: c5 fd vmovapd 0x40(%rax),%ymm3 106a: c4 62 fd b8 d3 vfmadd231pd %ymm3,%ymm0,%ymm10 106f: c4 62 f5 b8 db vfmadd231pd %ymm3,%ymm1,%ymm : c4 62 ed b8 e3 vfmadd231pd %ymm3,%ymm2,%ymm : c5 fd vmovapd 0x60(%rax),%ymm3 107e: c4 62 fd b8 eb vfmadd231pd %ymm3,%ymm0,%ymm : c4 62 f5 b8 f3 vfmadd231pd %ymm3,%ymm1,%ymm : c4 62 ed b8 fb vfmadd231pd %ymm3,%ymm2,%ymm15 108d: c8 add %rcx,%rax 1090: 48 ff cb dec %rbx 1093: jne 1029 Intel Haswell konekieliesimerkki (***) Esimerkki: Matriisikertolaskualirutiinin sisin silmukka Intel x86 64 konekielellä käyttäen hyväksi Haswell- mikroarkkitehtuurin tukemia AVX2 & FMA -käskykantalaajennuksia
5 Tietokoneen mysteeri Millä periaatteilla tietokone toimii? Mitä on laskenta?
6 Miksi ohjelmoijan on tärkeä ymmärtää tietokoneen keskeiset toimintaperiaatteet?
7 Tietokone on kone ymmärrys periaatteista millä kone toimii kuuluu oleellisesti ohjelmoijan ammattitaitoon Taito käyttää konetta sovelluksissa koneen suorituskyvyn äärirajoilla Fyysinen laitteisto ( hardware ) ja ohjelmat ( software ) ovat keskinäisessä vuorovaikutuksessa suunnittelusta suoritukseen Uteliaisuus ja oivaltamisen riemu maailma laskennan silmin
8 #3 top500.org (***) Each node has an NVIDIA Tesla K20X card ( MHz) (4 nodes) (8 blades) (3 cages) (18,688 GPUs, 50,233,344 cores) [From Tiwari et al., Reliability Lessons Learned From GPU Experience With The Titan Supercomputer at Oak Ridge Leadership Computing Facility, Supercomputing 2015 (Austin TX, Nov , 2015).]
9 Tietokoneiden fysikaalisista rajoista (***) [From Tiwari et al., Reliability Lessons Learned From GPU Experience With The Titan Supercomputer at Oak Ridge Leadership Computing Facility, Supercomputing 2015 (Austin TX, Nov , 2015).]
10 Toimintaperiaatteet a) loogisella tasolla b) fysikaalisella tasolla
11 Tietokoneen mysteeri (4 kierrosta) 2. Bitit ja data binäärilukujärjestelmä, bittien käsittely Scalalla 3. Kombinaatiologiikka 4. Sekventiaalilogiikka 5. Ohjelmoitava kone logiikkaporteista rakennettuja piirejä Scala-simuloituna kello ja takaisinkytkentä Scala-simulaatioon, prosessorin laskentapolku konekieliohjelmoimme 5574-porttista Scalalla rak. & simuloitua armlet -prosessoria
12 Kierros 2: Bitit ja data Data on jono bittejä Suuruusluokista Datalla on formaatti (Scalan tietotyyppien formaatit) Binäärilukujärjestelmä (2-kantainen lukujärjestelmä) Bittien käsittelyä Scalalla Liukuluvut (IEEE ) (*)
13 Bitti 0 1 Engl. bit (lyhennetty binary digit ) Perusyksikkö informaatiota esitettäessä Claude E. Shannon [A mathematical theory of communication. Bell System Tech. J. 27 (1948) , ] mukaan J. W. Tukey otti sanan bit käyttöön tarkoittamaan binäärilukujärjestelmän numeroa 0 tai 1.
14 Bittijono ( data ) Kaikki laskennassa tarkasteltava informaatio esitetään jonona bittejä ( datana ) Datan määrää mitataan bitteinä (= montako bittiä jono sisältää)
15 Suuruusluokista Datan määrää mitataan tyypillisesti bitteinä tai tavuina (engl. byte) [1 tavu = 8 bittiä] Määrän suuruusluokka on tapana ilmaista SI-etuliitteitä (kilo, mega, giga, jne.) käyttäen Suuruusluokat on tapana ilmaista joko tavanomaisesti 10-kantaisina suuruusluokkina tai vaihtoehtoisesti 2-kantaisina suuruusluokkina
16 10-kantaiset suuruusluokat
17 2-kantaiset suuruusluokat (lue: kilobinääri, megabinääri, )
18 Esimerkki: megabitti ja terabitti Oletetaan, että yksi bitti voidaan tallentaa neliömillimetrin pinta-alalle Tällöin yksi megabitti (10 6 bittiä) tallentuu neliömetrille Otaniemi (Google Earth) Yksi terabitti (10 12 bittiä) puolestaan tallentuu neliökilometrille
19 Terabinääritavu suorituskykyesimerkki Single core All 24 cores Read (consecutive 64-bit words) Read (random 512-bit cache lines) Read (random 64-bit words) 3.7 GiB/s 18 GiB/s 0.74 GiB/s 7.5 GiB/s 0.15 GiB/s 1.9 GiB/s 4 x 2.67-GHz Intel Xeon X7542 (Nehalem, 6 cores, 18 MiB last-level cache) 1 TiB main memory (64 x 16 GiB DDR SDRAM) HP Proliant DL580 G7 Aalto-yliopisto, triton -laskentaklusteri fn01.triton.aalto.fi fn02.triton.aalto.fi
20 Petatavu
21 $ / 100 TB
22 Mitä data esittää? Jono bittejä on vain tylsä jono nollia ja ykkösiä Jotta bittijonosta tulee mielenkiintoisempi, tarvitaan lisäksi sopimuksia ja käytänteitä siitä mitä bittijonolla esitetään
23 27550 = 145 x 190 bittiä
24 64 bittiä scala.math.pi ( ) IEEE Std
25 256 bittiä !Greetings from the planet Zorp! Unicode (UTF-8)
26 625 bittiä
27 Data ja datan formaatti Varsinaisen datan (=bittijono) lisäksi tarvitaan sopimus siitä mitä data esittää Tällaista sopimusta tai käytännettä siitä mitä data esittää kutsutaan formaatiksi tai vaihtoehtoisesti datan tyypiksi
28 Numeerinen ja tekstuaalinen data Useimmat ohjelmat käsittelevät ainakin toista seuraavista: numeerinen data (= data joka esittää lukuja) tekstuaalinen data (= data joka esittää tekstiä)
29 Numeerinen ja tekstuaalinen data Myös Scala-kielen perustietotyypit (perusdatatyypit) jakautuvat luonnollisesti numeerisiin ja tekstuaalisiin tyyppeihin: numeeriset Byte, Short, Int, Long, Float, Double tekstuaaliset Char, String
30 Sana, sananpituus Tietokone on rakennettu käsittelemään dataa palasissa, joissa on kiinteä määrä bittejä (esimerkiksi 8, 16, 32, 64, tai 128 bittiä) Tällaisia palasia kutsutaan sanoiksi ( word ) Prosessoriarkkitehtuurin sananpituus tai sananleveys ( word length ) on pisin sanan bittimäärä, jota prosessori tukee käskykannassaan Esimerkiksi ilmaisu 64-bittinen prosessori tyypillisesti viittaa siihen, että prosessoriarkkitehtuurin sananleveys on 64 bittiä
31 Scala-perustietotyyppien pituudet biteissä Scala on suunniteltu laitteistoriippumattomaksi (käytettäväksi eri laitteistoalustoilla) Scalan perustietotyypeillä on seuraavat kiinteät mitat biteissä: Byte (8 bittiä) Short (16 bittiä) Int (32 bittiä) Long (64 bittiä) Char (16 bittiä) Jos laitteisto ei tue suoraan jotakin edellisistä, tuki on toteutettu ohjelmallisesti (Scala-)ohjelmoijalle näkymättömällä tavalla
32 Bitit näkyviin Scalalla [ demo ]
33 Kuinka esittää kokonaislukuja? Luku 754 voidaan esittää monella tavalla Roomalaisessa lukujärjestelmässä DCCLIV Desimaalilukujärjestelmässä 754 Binäärilukujärjestelmässä Zorp-planeetalla on päädytty esitykseen [verkkolukemistossa laajemmin, ml. rationaaliluvut ja liukuluvut]
34 Binäärilukujärjestelmä Binäärilukujärjestelmässä (= 2-kantaisessa lukujärjestelmässä) on helppo laskea Vrt. kerro kaksi roomalaista numeroa keskenään, tai opiskele ulkoa 10-järjestelmän yhteen- ja kertolaskutaulut Tietokoneet käyttävät binäärilukujärjestelmää Binääriluvut (ja 16-kantaiset heksadesimaaliluvut) kuuluvat ohjelmoijan yleissivistykseen
35 Heksadesimaaliluvut Yksi heksadesimaalinumero vastaa 4 bitin jonoa: Esimerkki (25257):
36 Binääriluvun bittipaikat eniten merkitsevä numero bittipaikka vähiten merkitsevä numero
37 Desimaalista binääriksi Syöte: 10-kantainen 2 Z 0 Alusta lopputuloksen kaikki bitit pois päältä (arvoon 0) Toista kunnes Vähennä luvusta siten, että = 0 2 j 2 j 0 suurin mahd. Aseta bitti j päälle (arvoon 1) 2 0 = = = = = = = = = = = 1024.
38 Binääristä desimaaliksi Syöte: 2-kantainen 2 Z 0 Alusta lopputulos arvoon 0 Toista jokaiselle bittipaikalle j Jos bitti j on päällä (arvossa 1), lisää lopputulokseen 2 j 2 0 = = = = = = = = = = = 1024.
39 Harjoituksissa Muunnoksia kantalukujen 2 ja 10 välillä Sanan bittien käsittelyä bitin arvo? bitti päälle (arvoon 1, set ) bitti pois (arvoon 0, reset, clear, mask ) bitin kytkeminen (vastakkaiseen arvoon, toggle ) sanan vieritys vasemmalle ( left shift ) sanan vieritys oikealle ( right shift ) sanan aritmeettinen vieritys oikealle ( arithmetic right shift ) Liukulukujen ( floating point number ) alkeet
40 Boolen operaatiot biteille JA TAI POIS- SULKEVA EI TAI (minimi) (maksimi) (summa, (käännä pariteetti) arvo)
41 Arvojen pakottaminen ja kytkeminen
42 Boolen operaatiot sanoille bittioperaatiot monibittisille sanoille toimivat jokaiselle bittipaikalle erikseen
43 Sanan arvojen pakottaminen ja kytkeminen
44 Bittipaikkojen vieritys ( shift )
45 Esimerkki: Heksadesimaalisyöte Scalalla scala> val y = 0x3E7 y: Int = 999
46 Esimerkki: Heksadesimaalituloste Scalalla def tohexstring(v: Int): String = "0x%X".format(v) scala> tohexstring(754) res: String = 0x2F2 scala> tohexstring(999) res: String = 0x3E7 scala> tohexstring(0x3e7) res: String = 0x3E7
47 Esimerkki: bittipaikan arvo scala> val x = 0x3A // in binary x: Int = 58 scala> (x >> 0)&1 // value of bit at position 0 res: Int = 0 scala> (x >> 1)&1 // value of bit at position 1 res: Int = 1 scala> (x >> 2)&1 // value of bit at position 2 res: Int = 0 scala> (x >> 3)&1 //... res: Int = 1 scala> (x >> 4)&1 res: Int = 1 scala> (x >> 5)&1 res: Int = 1 scala> (x >> 6)&1 res: Int = 0
48 Esimerkki: täsmälleen bittipaikka j on arvossa 1 1 << j (32-bittinen sana; Int) 1L << j (64-bittinen sana; Long)
49 Entäpä liukuluvut? scala> res: Double = Miksi tulos ei ole 0.2?
50 Liukulukustandardi IEEE Std Float = IEEE binary32 Double = IEEE binary64
51 IEEE binary64 -liukuluku lähimpänä 0.3 scala> tellaboutdouble(0.3) I am a 64-bit word that Scala views as having format 'Double' my bits are, in binary, ( )_2... or equivalently, in hexadecimal, 0x3FD Scala prints me out as indeed, my bits acquire meaning as specified in the binary interchange format 'binary64' in the IEEE Std IEEE Standard for Floating-Point Arithmetic this format is a bit-packed format with three components: ( )_2 a) the sign (bit 63): 0 b) the biased exponent (bits 62 to 52): c) the trailing significand (bits 51 to 0): my biased exponent 1021 indicates that I am a _normalized_ number with a leading 1-digit in my significand and an unbiased exponent -2 = that is, in _binary radix point notation_, I am exactly ( )_2 * 2^{-2}... or what is the same in _decimal radix point notation_, I am exactly radiksipisteen jälkeistä bittiä tarkkuutta
52 IEEE binary64 -liukuluku lähimpänä 0.1 scala> tellaboutdouble(0.1) I am a 64-bit word that Scala views as having format 'Double' my bits are, in binary, ( )_2... or equivalently, in hexadecimal, 0x3FB A... Scala prints me out as indeed, my bits acquire meaning as specified in the binary interchange format 'binary64' in the IEEE Std IEEE Standard for Floating-Point Arithmetic this format is a bit-packed format with three components: ( )_2 a) the sign (bit 63): 0 b) the biased exponent (bits 62 to 52): c) the trailing significand (bits 51 to 0): my biased exponent 1019 indicates that I am a _normalized_ number with a leading 1-digit in my significand and an unbiased exponent -4 = that is, in _binary radix point notation_, I am exactly ( )_2 * 2^{-4}... or what is the same in _decimal radix point notation_, I am exactly
53 suoritettuna binary64 -liukuluvuilla
54 Tulosta lähin binary64 -liukuluku scala> tellaboutdouble( ) I am a 64-bit word that Scala views as having format 'Double' my bits are, in binary, ( )_2... or equivalently, in hexadecimal, 0x3FC Scala prints me out as indeed, my bits acquire meaning as specified in the binary interchange format 'binary64' in the IEEE Std IEEE Standard for Floating-Point Arithmetic this format is a bit-packed format with three components: ( )_2 a) the sign (bit 63): 0 b) the biased exponent (bits 62 to 52): c) the trailing significand (bits 51 to 0): my biased exponent 1020 indicates that I am a _normalized_ number with a leading 1-digit in my significand and an unbiased exponent -3 = that is, in _binary radix point notation_, I am exactly ( )_2 * 2^{-3}... or what is the same in _decimal radix point notation_, I am exactly
55 Liukuluvut IEEE Std Float = IEEE binary32 Double = IEEE binary64 Liukuluvut ovat rationaalilukuja, joilla on merkitseviltä numeroiltaan ja eksponentiltaan kiinteään määrään bittejä katkaistu normalisoitu kantaluvun 2 radiksipiste-esitys [lisää lukemistossa] Liukuluvuilla ammattimaisesti laskettaessa on hyvä olla tietoinen liukulukujen ominaisuuksista tutustu standardiin ja muista, että lasket kiinteästi valituilla 2 32 (2 64 ) rationaaliluvulla, jotka ovat sitä harvemmassa mitä isommaksi luvut itseisarvoltaan tulevat
56 Tehtävät bitsquiz muunnamme 2-kannan ja 10-kannan välillä wordops bittioperaatioita sanoille (montako 1-bittiä sanassa jne.) parity pariteettibitin laskeminen ja tarkistaminen float liukulukuihin tutustumista ja sudenkuoppia base64 64-kantainen koodaus binääristä tekstiksi errorcorrect (haastetehtävä) yhden bitin virheenkorjaus, esimerkiksi Hamming-koodilla rationaldecompose (haastetehtävä) rationaaliluvun jaksollinen radiksipistehajotelma
Tietokoneen mysteeri bitit ja data
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri bitit ja data Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A1120 Ohjelmointi 2
LisätiedotTietokoneen mysteeri bitit ja data
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri bitit ja data Petteri Kaski Tietotekniikan laitos Aalto-yliopisto CS-A1120 Ohjelmointi 2 21.
LisätiedotICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2016)
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2016) Petteri Kaski Tietotekniikan laitos Aalto-yliopisto 22. helmikuuta
LisätiedotCS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2018)
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 CS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2018) Petteri Kaski Tietotekniikan laitos Aalto-yliopisto 19. helmikuuta
LisätiedotTietokoneen mysteeri ohjelmoitava kone
Tämä luento poikkeuksellisesti salissa TU2, TUAS-talo, Maarintie 7 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri ohjelmoitava kone Petteri
LisätiedotTietokoneen mysteeri ohjelmoitava kone
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri ohjelmoitava kone Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A1120 Ohjelmointi
LisätiedotANSI/IEEE Std
Digitaalitekniikan matematiikka Luku 9 Sivu 1 (26) Lukujärjestelmät ja lukujen esittäminen ANSI/IEEE Std 754-2008 0 1 0 1 1 0 0 0 B = Σ B i 2 i Digitaalitekniikan matematiikka Luku 9 Sivu 2 (26) Johdanto
LisätiedotTiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto
Luento 6 (verkkoluento 6) Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto Ohjelman esitysmuoto Rakenteellinen tieto 1 Tiedon tyypit Kommunikointi
LisätiedotLukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe
Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Lukujärjestelmät Kymmen- eli desimaalijärjestelmä: kantaluku perinteisesti käytetty ja tuttu numerot,,
LisätiedotPaavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
LisätiedotOhjelmoijan binaarialgebra ja heksaluvut
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
LisätiedotOHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon
LisätiedotICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2015)
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2015) Tommi Junttila & Petteri Kaski Tietotekniikan laitos Aalto-yliopisto!
LisätiedotTietokoneen mysteeri sekventiaalilogiikka
111111111 111111111 1111111 11111111 111111 1111111 Tietokoneen mysteeri sekventiaalilogiikka Petteri Kaski Tietotekniikan laitos Aalto-yliopisto CS-A112 Ohjelmointi 2 1. maaliskuuta 217 111111111 11111111
LisätiedotLiukulukulaskenta. Pekka Hotokka
Liukulukulaskenta Pekka Hotokka pejuhoto@cc.jyu.fi 10.11.2004 Tiivistelmä Liukulukuja tarvitaan, kun joudutaan esittämään reaalilukuja tietokoneella. Niiden esittämistavasta johtuen syntyy laskennassa
LisätiedotTietokonearitmetiikka
Tietokoneen rakenne Luento 6 Tietokonearitmetiikka Stallings: Ch 9 Kokonaislukuesitys Kokonaislukuaritmetiikka Liukulukuesitys Liukulukuaritmetiikka Luento 6-1 ALU: Aritmeettis-Looginen Yksikkö ALU = Aritmetic
LisätiedotAbstraktiot ja analyysi algoritmit ja informaation esitykset
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Abstraktiot ja analyysi algoritmit ja informaation esitykset Petteri Kaski Tietotekniikan laitos Aalto-yliopisto
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut
LisätiedotTietokonearitmetiikka
Luento 6 ALU: Aritmeettis-Looginen Yksikkö Tietokonearitmetiikka Stallings: Ch 9 Kokonaislukuesitys Kokonaislukuaritmetiikka Liukulukuesitys Liukulukuaritmetiikka Luento 6-1 ALU = Aritmetic Logic Unit
LisätiedotLuento 6 Tiedon esitysmuodot
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) 1 Tiedon tyypit (3) Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotLuento 6 Tiedon esitysmuodot
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) Tiedon esitys laitteistossa (2) Tietoa siirretään muistiväylää pitkin sanoina
LisätiedotTiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto
Luento 6 (verkkoluento 6) Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto Monitavuinen tieto Ohjelman esitysmuoto Rakenteellinen tieto 1 Tiedon
LisätiedotLuento 6 Tiedon esitysmuodot
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) 1 Tiedon tyypit (3) Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotLuento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)
Tietokoneen toiminta 3.4.24 Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) Tiedon tyypit (3) Kommunikointi ihmisen kanssa
LisätiedotLuento 6 Tiedon esitysmuodot. Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?)
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) 1 Tiedon tyypit (3) Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotLuento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)
Tietokoneen toiminta, Kesä 22 4.8.22 Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) Tiedon tyypit (3) Kommunikointi ihmisen
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
LisätiedotKappale 20: Kantaluvut
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!
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
LisätiedotTietokonearitmetiikka
Tietokoneen rakenne Luento 6 Tietokonearitmetiikka (Computer Arithmetic) Stallings: Ch 9 Kokonaislukuesitys Kokonaislukuaritmetiikka Liukulukuesitys Liukulukuaritmetiikka Luento 6-1 ALU: Aritmeettis-Looginen
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot
LisätiedotLuento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Tiedon esitys (7) Suorittimen ymmärtämä tieto (9) Tietokoneen toiminta, K
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Luvut, merkit, merkkijonot, totuusarvot, oliot Kuvat, äänet, hajut(?) Ohjelmat 1 Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotTietokonearitmetiikka
Luento 6 ALU: Aritmeettis-Looginen Yksikkö Tietokonearitmetiikka (Computer Arithmetic) Stallings: Ch 9 Kokonaislukuesitys Kokonaislukuaritmetiikka Liukulukuesitys Liukulukuaritmetiikka Luento 6-1 ALU =
LisätiedotTietokoneen mysteeri kombinaatiologiikka
Tietokoneen mysteeri kombinaatiologiikka Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A2 Ohjelmointi 2 29. helmikuuta 26 Tietokoneen mysteeri (4 kierrosta) 2. Bitit ja data binäärilukujärjestelmä,
LisätiedotLuento 6 Tiedon esitysmuodot
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Luvut, merkit, merkkijonot, totuusarvot, oliot Kuvat, äänet, hajut(?) Ohjelmat 1 Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotModuli 4: Moniulotteiset taulukot & Bittioperaatiot
C! : Moniulotteiset taulukot & Bittioperaatiot 15.3.2016 Agenda Pieni kertausharjoitus Moniulotteiset taulukot Esimerkki taulukoista Tauko (bittitehtävä) Binäärioperaatioista Esimerkki (vilkaistaan IP
LisätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotOhjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin
Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt
LisätiedotLuento 6 Tiedon esitysmuodot
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) 1 Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotTiedon tyypit Kommunikointi ihmisen kanssa. Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Suorittimen ymmärtämä tieto (9)
Luento 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston
LisätiedotJakso 6 Tiedon esitysmuodot
Jakso 6 Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?) Ohjelman esitysmuoto 1 Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni,
LisätiedotVIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto
Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,
LisätiedotModerneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia
1 Datan rinnakkaistamisessa siis eri prosessointiyksiköt suorittavat saman operaation annetulle datalle, joka pilkotaan prosessointiyksikköjen kesken. Pointti on siis se, että kyseessä ei ole tehtävien
LisätiedotTIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos
TIES325 Tietokonejärjestelmä Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos Kevät 2008 Luku 4 Tietokoneen sisäinen toiminta Edellisisää osioiss aon tarkasteltu tietokoneen kehittymistä ja sen
LisätiedotOngelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
LisätiedotAjattelemme tietokonetta yleensä läppärinä tai pöytäkoneena
Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen
LisätiedotBL40A1711 Johdanto digitaalielektroniikkaan: Johdanto ja lukujärjestelmät
BL40A1711 Johdanto digitaalielektroniikkaan: Johdanto ja lukujärjestelmät Laboratory of Control Engineering and Digital Systems Focus of research and education Energy efficient systems Renewable energy
LisätiedotTyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotSISÄLLYS - DIGITAALITEKNIIKKA
SISÄLLYS - DIGITAALITEKNIIKKA Digitaalitekniikan perusteita...2 Bitti (bit)...2 Tavu (bytes)...2 Sana (word)...2 Yksiköt...2 Binääri järjestelmän laskutapa...2 Esimerkki: Digikuvan siirron kestoaika...2
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotC = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out
Digitaalitekniikan matematiikka Luku ivu (2).9.2 Fe C = Aseta Aseta i i = n i > i i i Ei i < i i i Ei i i = Ei i i = i i -- On On On C in > < = CI CO C out -- = + (-) (-) = + = C + Digitaalitekniikan matematiikka
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotTiedon esitysmuodot Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti
Luentokerta 4 Tiedon esitysmuodot Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Ohjelman esitysmuoto Rakenteellinen tieto
LisätiedotJavan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi
1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotOngelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
Lisätiedot5. Laskutoimitukset eri lukujärjestelmissä
5. Laskutoimitukset eri lukujärjestelmissä Lukujen esitykset eri lukujärjestelmissä Muunnokset lukujärjestelmien välillä Laskutoimitukset eri lukujärjestelmissä. 5.1. Muunnokset lukujärjestelmien välillä
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
Lisätiedot7. Laskutoimitukset eri lukujärjestelmissä 1 / 31
7. Laskutoimitukset eri lukujärjestelmissä 1 / 31 Johdanto Lukujen esitykset eri lukujärjestelmissä Muunnokset lukujärjestelmien välillä Laskutoimitukset eri lukujärjestelmissä. 2 / 31 7.1. Muunnokset
LisätiedotLuento 2: Tiedostot ja tiedon varastointi
HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...
LisätiedotDigitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s
Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) k 10 2 10 2 s 10 10 8 10 16 10 2 10 2 s 2 8 8 2 2 16 16 2 Digitaalitekniikan matematiikka Luku 10 Sivu 2 (14) Johdanto Tässä luvussa perustellaan, miksi
Lisätiedot2 j =
1. Modulaariaritmetiikkaa Yksinkertaisissa salausjärjestelmissä käytettävä matematiikka on paljolti lukuteoriaan pohjautuvaa suurten lukujen modulaariaritmetiikkaa (lasketaan kokonaisluvuilla modulo n).
LisätiedotOhjelmointi 1 C#, kevät 2013,
Ohjelmointi 1 C#, kevät 2013, 19.4.2013 (English versions of the questions can be requested from the supervisor. Englanninkieliset kysymykset saa pyytämällä tentin valvojalta.) Tentti (yliopisto opiskelijat)
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
LisätiedotPOWER analytiikka-alustana
POWER analytiikka-alustana Teppo Seesto Solution Architect Infrastructure matters SAPS/core 5000 4000 SAP 2-tier SD-benchmark SAP ERP 6.0 3765 3000 2000 2204 70% nopeampi 1000 Intel IvyBridge E7-4890v2
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva
6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva Experience is what causes people to make new mistakes instead of old ones... - Unknown Sisältö Yleistä EEPROM-rekisterit Protoilu-ohje EEPROMmista ja Fuse-biteistä
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2015 Työkaluista Perinteinen: komentorivi + tekstieditori Editori: esimerkiksi Kate, Notepad++, Aquamacs (Emacs) Ohjelman kääntäminen ja suorittaminen komentoriviterminaalissa TMC - komentorivityökalu
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja
LisätiedotJakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LisätiedotC++11 seminaari, kevät Johannes Koskinen
C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,
LisätiedotTietokoneen toiminta, K Tavoitteet (4)
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LisätiedotTIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos
TIES325 Tietokonejärjestelmä Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos Kevät 2008 Luku 1 Tietokone abstraktina yksikkönä Tietokoneen asbtratiotasoa sen muotoisena kuin me sen tällä hetkellä
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
LisätiedotDigitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus
Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia
LisätiedotELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle
ELEC-A4010 Sähköpaja Arduinon ohjelmointi Jukka Helle Arduino UNO R3 6-20VDC 5VDC muunnin 16 MHz kideoskillaattori USB-sarjamuunnin (ATmega16U2) ATmega328 -mikro-ohjain 14 digitaalista I/O väylää 6 kpl
LisätiedotOhjelmointi 1 Taulukot ja merkkijonot
Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko
Lisätiedot// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.
Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
Lisätiedot1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.
EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat
LisätiedotPalautteita. Tutoriaalit olivat vaikeat! Totta, tentti on onneksi helpompi
Palautteita Tutoriaalit olivat vaikeat! Totta, tentti on onneksi helpompi 504 Mitä range() tekee? range on funktio, joka palauttaa listan esim. a = range(5,10) Palauttaa listan [5,6,7,8,9] Siis nämä kolme
LisätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan
Lisätiedot7/20: Paketti kasassa ensimmäistä kertaa
Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotITKP102 Ohjelmointi 1, syksy 2007
Tenttirunko 6.11.2007: koodit, koodattava toiminnallisuus, syntaksikysymys, lukuarvot lukujärjestelmäkysymyksissä ovat eri tenttikerroilla aina erilaiset, mutta kysymysten aihepiirit ja muotoilu ovat samat.
LisätiedotLisää perustietotyypeistä
Perustietotyypit ja laskutoimitukset 3 Lisää perustietotyypeistä Tässä luvussa käsittelemme lisää jo edellisessä luvussa käsittelemiämme perustietotyyppejä. Näemme, kuinka eri tyyppiset muuttujat vaikuttavat
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotLuku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15)
Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15) A = a = i i w i Digitaalitekniikan matematiikka Luku 12 Sivu 2 (15) Johdanto Tässä luvussa esitetään kymmenjärjestelmän lukujen eli BCD-lukujen esitystapoja
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotOngelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?
Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse
LisätiedotSinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.
A Bittien nollaus Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. Saat käyttää seuraavia operaatioita: muuta jokin bitti vastakkaiseksi (0 1 tai 1 0) muuta kaikki
LisätiedotHarjoitus 3 (viikko 39)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien
LisätiedotOhjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU
Ohjelmointi 2 Jussi Pohjolainen TAMK» Tieto- ja viestintäteknologia Tietotyypeistä C++ - kielessä useita tietotyyppejä Kirjaimet: char, wchar_t Kokonaisluvut: short, int, long Liukuluvut: float, double
Lisätiedot