PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Podobné dokumenty
3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

C2115 Praktický úvod do superpočítání

Struktura a architektura počítačů (BI-SAP) 6

PB002 Základy informačních technologií

Mikroprocesorová technika (BMPT)

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Čísla a číselné soustavy.

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Struktura a architektura počítačů (BI-SAP) 5

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Fz =a z + a z +...+a z +a z =

Číselné soustavy. Binární číselná soustava

Algoritmy a datové struktury

v aritmetické jednotce počíta

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Čísla v počítači Výpočetní technika I

Úvod do programování 7. hodina

Informatika Datové formáty

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Číselné soustavy a převody mezi nimi

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače

ČÍSELNÉ SOUSTAVY PŘEVODY

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Základní jednotky používané ve výpočetní technice

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Kódováni dat. Kódy používané pro strojové operace

2 Ukládání dat do paměti počítače

Principy počítačů I Reprezentace dat

Architektury počítačů

E. Pohyblivářádováčárka

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

Aritmetické operace a obvody pro jejich realizaci

Y36SAP - aritmetika. Osnova

Převody mezi číselnými soustavami

1. Základní pojmy a číselné soustavy

Číselné soustavy. Jedná se o způsob reprezentace čísel.

Zobrazení dat Cíl kapitoly:

ČÍSELNÉ SOUSTAVY. Číselnou soustavu, která pro reprezentaci čísel využívá pouze dvou číslic, nazýváme soustavou dvojkovou nebo binární.

Datové typy a jejich reprezentace v počítači.

REPREZENTACE DAT. Principy počítačů I. Literatura. Literály. Typy dat. Literály. Čísla Instrukce. Znaky. Logické hodnoty

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číslo materiálu. Datum tvorby Srpen 2012

Číselné soustavy. Prvopočátky. Starověký Egypt a Mezopotámie. Již staří Římané

Čísla, reprezentace, zjednodušené výpočty

P2 Číselné soustavy, jejich převody a operace v čís. soustavách

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

BI-JPO (Jednotky počítače) Cvičení

Pokud není uvedeno jinak, uvedený materiál je z vlastních zdrojů autora

UMÍ POČÍTAČE POČÍTAT?

Algoritmizace a programování

Čísla, reprezentace, zjednodušené výpočty

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Úvod do informačních technologií

Binární logika Osnova kurzu

LEKCE 6. Operátory. V této lekci najdete:

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/

Elementární datové typy

Převod Bin do BCD pomocí Hornerova schématu

Tato tematika je zpracována v Záznamy přednášek: str materiál: PrikladyZobrazeniCisel.pdf

Program "Světla" pro mikropočítač PMI-80

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1 Paměť a číselné soustavy

Pohled do nitra mikroprocesoru Josef Horálek

Základní pojmy, historie počítačů, jednotky a převody, dvojková soustava

Informace, kódování a redundance

KALKULÁTORY EXP LOCAL SIN

DIGITÁLN LNÍ OBVODY A MIKROPROCESORY 1. ZÁKLADNÍ POJMY DIGITÁLNÍ TECHNIKY

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

1.5.1 Číselné soustavy

Digitalizace dat metodika

1 Teorie čísel. Základní informace

Úvod do informačních technologií

Aritmetické operácie v rôznych číselných sústavách. Ľudmila MACEKOVÁ, KEMT-FEI-TUKE, sep. 2017

Číselné soustavy - Teorie

Architektura počítačů Logické obvody

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

ČÍSLICOVÁ TECHNIKA OBSAH KAPITOLA 1 ČÍSELNÉ SOUSTAVY A KÓDY

Algoritmizace a programování

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Číselné soustavy: Druhy soustav: Počítání ve dvojkové soustavě:

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

Aplikovaná numerická matematika

Transkript:

PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných

Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější po desítkové Osmičková (oktalová) přístupová práva v Unixu Dvanáctková tucet a veletucet, nepoužívá se Šedesátková kopa a velekopa, řády jsou odděleny dvojtečkou, používá cifry desítkové soustavy

Binární soustava 0,1 Řády binární soustavy: 2 3 + 2 2 + 2 1 + 2 0 8 + 4 + 2 + 1 Ukázka: 1 0 1 1 8 + 4 + 0 + 1 = 11

Kdyby byla jen binární soustava

Hexadecimální soustava Základem soustavy 16 jednotek 0-9, A, B, C, D, E, F Úsporný zápis binárních hodnot Převod do binární soustavy a naopak je čistě mechanický, proveditelný bez výpočtu Používá se hodně v operačních systémech pro zobrazení binárních dat (adresy v paměti, hexaeditor)

Tohle asi všichni známe...

Desítková dvojková Metoda dělení základem Dělení Podíl Zbytek (109) 10 /2 54 1 pravá pozice (54) 10 /2 27 0 (27) 10 /2 13 1 (13) 10 /2 6 1 (6) 10 /2 3 0 (3) 10 /2 1 1 (1) 10 /2 0 1 levá pozice Metoda je univerzální, lze ji použít pro převod desítkové soustavy na jakoukoliv jinou

Dvojková šestnáctková Tohle jde opravdu z hlavy: (1001 0010 1101 1110 0101 0111) 2 ------------------------------------------------------- ( 9 2 D E 5 7) 16

Kódování čísel Co znamená tento byte? (1011 0010) 2 Všechny následující odpovědi jsou správné: 178 (binární kód) -50 (přímý kód) -77 (inverzní kód) 50 (aditivní kód) -78 (doplňkový kód)

Přímý kód Prakticky stejný jako binární První bit určuje znaménko Obsahuje tzv. zápornou a kladnou nulu 00001000 8 10001000-8 00000000 0 10000000-0 Rozsah od -127 do 127 Špatně se implementuje aritmetický hardware

Inverzní kód Kladná čísla jsou stejná jako v binárním Záporná čísla se tvoří bitovou negací Kód obsahuje opět dvě reprezentace nuly Kód je snadno pochopitelný Opět špatně implementovatelný v hardwaru Rozsah také od -127 do 127, takže opět využívá 254 hodnot z 255 možných V době 8-bitových procesorů to bylo plýtvání ;-)

Aditivní kód Opět vychází z binárního kódu Dokáže využít rozsah hodnot beze zbytku Rozsah od -128 do 127 K binárnímu kódu se přičte známá konstanta 00000000-128 10000000 0 11111111 127 Sčítání se implementuje snadno ale násobení je problematické Používá se pro exponent reálných čísel

Doplňkový kód I. V současnosti nejpoužívanější Je podobný inverznímu kódu Narozdíl od inverzního kódu využívá rozsah bytu naplno od -128 do 127 Záporné číslo je negací kladného čísla zvětšeného o jedničku Jednoduchá implementace aritmetických operací Používá se pro reprezentaci celých čísel v jazycích C/C++

Doplňkový kód II. Převod čísla (-78) 10 do doplňkového kódu: Začneme s kladným číslem (78) 10 (78) 10 (0100 1110) 2 Provedeme bitovou negaci neg[(0100 1110) 2 ] (1011 0001) 2 Nakonec přičteme jedničku (1011 0001) 2 + (0000 0001) 2 (1011 0010) 2 Převod z doplňkového kódu do desítkové soustavy je zřejmý

Přetečení rozsahu Situace, kdy překročíme rozsah čísla daný velikostí čísla v bitech a použitým kódováním Např. inkrementujeme-li číslo 127 v aditivním kódu pro 8 bitů: (0111 1111) + (0000 0001) (1000 0000) 2 = (-128) 10

Ještě nemáte dost? Tak se kouknem na reálná čísla...

Reprezentace reálných čísel I. Floating point Číslo 435,5 se dá vyjádřit ve tvaru 4,355 x 10 2 4,355 se nazývá mantisa 2 se nazývá exponent Bity čísla se rozdělí na mantisu a exponent Podíl bitů stanovují normy a výrobci hardwaru Počet bitů mantisy určuje přesnost čísla Počet bitů exponentu určuje rozsah

Reprezentace reálných čísel II. Ztráta přesnosti znamená, že mantisa reprezentovaného čísla se nevejde do bitového rozsahu pro mantisu Skutečná hodnota reprezentovaných reálných čísel se často na různých hardwarových platformách liší Proč myslíte, že se stále sleduje výkon procesorů ve floating point operacích?

Little endian vs big endian I. Problém vícebytových reprezentací čísel Rozdíl v pořadí uložených bytů v paměti Mějme číslo (AA BB CC DD) 16 Little endian uložení v paměti: nižsí adresa DD CC BB AA vyšší adresa Big endian uložení v paměti: nižsí adresa AA BB CC DD vyšší adresa Ani jedna reprezentace není horší nebo lepší než druhá

Little endian vs big endian II. Například PC procesory používají little endian, zatímco stanice SPARC (OS Solaris) používají big endian Při programování v jazyce C/C++ nás endianita zajímá pouze v případě bitových posuvů Endianitu lze velmi snadno identifikovat přímo za chodu programu

Použité zdroje Číselné soustavy Převody číselných soustav Reprezentace floating point čísel Endianita