Wstęp do programowania
|
|
- Alina Wrona
- 6 lat temu
- Przeglądów:
Transkrypt
1 Wstęp do programowania Wykład 4 Reprezentacja liczb Janusz Szwabiński Plan wykładu: Zamiast motywacji Reprezentacja liczb całkowitych Reprezentacja liczb rzeczywistych Dokładność w obliczeniach komputerowych Materiały uzupełniające: D. Goldberg, "What Every Computer Scientist Should Know About Floating Point Arithmetic", Computing Surveys (1991) Zamiast motywacji Z lekcji matematyki wiemy, że cos = 0 π 2. Zobaczmy, jak to wygląda w Pythonie: In [7]: import math In [8]: math.cos(math.pi/2) Out[8]: e-17 Wynik jest wprawdzie bardzo mały, jednak różni się od zera. Inny przykład: In [9]: x = 2**30
2 In [10]: x + 2**(-22)==x Out[10]: False In [11]: x + 2**(-23)==x Out[11]: True Okazuje się, że w drugim przypadku komputer traktuje obie liczby jako identyczne! I jeszcze jeden przykład: In [12]: y = In [13]: x = y In [14]: print(x) Wynik różni się nieznacznie od wartości dokładnej! Powyższe przykłady to efekty skończonej dokładności maszyny liczącej, jaką jest komputer. Nie zawsze są one szkodliwe dla prowadzonych obliczeń, jednak warto wiedzieć, dlaczego powstają. Liczby całkowite Liczby całkowite są reprezentowane dokładnie w pamięci komputera, jednak jest ich skończona liczba. W większości języków programowania jest to związane ze stałą liczbą bitów używanych do ich przechowywania. n W ogólności, bitowa liczba całkowita ma wartości od 2^(n 1) do 2^(n 1) 1. Na maszynach 32 bitowych daje to zakres: In [15]: n = 32 imin = -2**(n-1) imax = 2**(n-1)-1 print(imin,"< i <",imax) < i <
3 Natomiast dla maszyn 64 bitowych otrzymamy: In [16]: n = 64 imin = -2**(n-1) imax = 2**(n-1)-1 print(imin,"< i <",imax) < i < W Pythonie jest jednak trochę inaczej. W wersji 2.7 rzeczywiście mamy do dyspozycji typ into powyższych zakresach, jednak wyjście poza zakres powoduje automatyczne przełączenie się interpretera na typ long into teoretycznie nieograniczonej precyzji (liczbie bitów). W praktyce precyzja jest ograniczona pamięcią komputera. Natomiast w wersji 3.X nie ma już rozróżnienia na inti long int. Dlatego w Pythonie można liczyć na liczbach dużo większych niż te zdefiniowane powyżej: In [17]: 2*10**100 Out[17]: Ponieważ jednak Python należy pod tym względem raczej do wyjątków wśród języków programowania, omówimy teraz dwie najczęściej stosowane reprezentacje liczb całkowitych, z których ograniczeń użytkownik Pythona może nie zdawać sobie sprawy. Reprezentacja prosta (bez znaku) N bitowa liczba całkowita z = ( a N 1, a N 2,, a0), a i = {0, 1} i = 0,, N 1 bez znaku jest reprezentowana jako: gdzie ( ) to poszczególne bity. Jej wartość wyliczymy w następujący sposób: z = N 1 i=0 a i 2 i. Natomiast zakres tej reprezentacji to: 0 z 2 N 1. z In [18]: n = 64 imax = 2**(n)-1 print("0 < i <",imax) 0 < i <
4 Przykłady liczb w 8 bitowej reprezentacji: Liczba Reprezentacja
5 Reprezentacja uzupełnieniowa (ze znakiem) N bitowa liczba całkowita z = (,,, ), = {0, 1}, a N 1 a N 2 a0 a i jednak teraz wyliczamy jej wartość ze wzoru: z = a N 1 2 N 1 + N 2 i=0 a i 2 i. Zakres tej reprezentacji: 2 N 1 z 2 N 1 1 z ze znakiem na pierwszy rzut oka reprezentowana jest tak samo, tzn.: Jedną z zalet tej reprezentacji jest łatwe generowanie liczb ujemnych: Ponadto nie trzeba rozróżniać liczb na dodatnie i ujemne przy dodawaniu: Poniżej znajdują się przykłady liczb w 8 bitowej reprezentacji uzupełnieniowej: Liczba Reprezentacja
6 Warto również wspomnieć, że mnożenie przez 2 w tej reprezentacji odpowiada przesunięciu bitów o jedną pozycję w lewo, a dzielenie przez 2 o jedną pozycję w prawo. In [19]: x = 4 In [20]: x << 1 Out[20]: 8 In [21]: x >> 1 Out[21]: 2 Jedyny problem w obliczeniach komputerowych na liczbach całkowitych to wyjście poza zakres (podkreślam jeszcze raz nie dotyczy to Pythona!). Rozważmy następujący przykład w napisany w języku C++:
7 In [22]: %%writefile silnia.cpp #include <iostream> int silnia(int n) { if (n<=1) return 1; else return n*silnia(n-1); } int main () { int n; std :: cout << "Podaj liczbę: "; std :: cin >> n; std :: cout << n << "!= " << silnia(n) << "\n"; } Overwriting silnia.cpp In [23]:!g++ silnia.cpp Efekt kilku wywołań tego programu jest następujący: Podaj liczbę: 12 12!= Podaj liczbę: 16 16!= Podaj liczbę: 17 17!= Mimo,że przy obliczaniu silni mnożymy ze sobą liczby dodatnie, ostatni wynik jest ujemny. Jest to związane z tym, że najczęściej (i C++nie jest tu wyjątkiem) typy całkowite mają strukturę pierścienia, w której zwiększenie liczby największej o 1 da w wyniku liczbę najmniejszą. I odwrotnie zmniejszenie liczby najmniejszej o 1 da liczbę największą.
8 Jeżeli nie pamiętamy, jakie zakresy mają poszczególne typy danych, najczęściej możliwe jest ich podględnięcie z poziomu akurat używanego języka. Np. w C++odpowiednie stałe zdefiniowane są w pliku nagłówkowym climits: In [24]: %%writefile cints.cpp #include <iostream> #include <climits> int main () { std :: cout << SHRT_MAX << "\n" ; std :: cout << INT_MAX << "\n" ; std :: cout << LONG_MAX << "\n" ; } Overwriting cints.cpp In [25]:!g++ cints.cpp -o cints In [26]:!./cints W Fortranie do wyświetlenia największej liczby w danym typie służy funkcja huge: In [27]: %%writefile fints.f90 program integers implicit none integer(kind=1) :: a integer(kind=2) :: b integer(kind=4) :: c integer(kind=8) :: d integer(kind=16) :: e write(6,*) huge(a) write(6,*) huge(b) write(6,*) huge(c) write(6,*) huge(d) write(6,*) huge(e) end program integers Overwriting fints.f90 In [28]:!gfortran fints.f90 -o fints
9 In [29]:!./fints Typ intpythona radzi sobie oczywiście dużo lepiej przy wiliczaniu silni: In [30]: def silnia(n): if n<=1: return 1 else: return n*silnia(n-1) In [31]: silnia(17) Out[31]: In [32]: silnia(100) Out[32]: Należy mieć przy tym świadomość, że "dowolną" precyzję otrzymujemy kosztem wydajności obliczeń. Np. jeżeli wszystkie liczby występujące w obliczeniach i wyniki działań na nich mieszczą się w zakresie odpowiadającym podstawowemu typowi intw Pythonie 2.7, wówczas obliczenia w Pythonie 2.7 zostaną wykonane szybciej niż w 3.5.
10 Liczby zmiennopozycyjne Reprezentacja zmiennopozycyjna to najczęściej obecnie stosowany sposób zapisu liczb rzeczywistych na komputerach. W reprezentacji tej liczba przedstawiona jest za pomocą bazy oraz precyzji (liczby cyfr). Przykład: jeśli i, to liczba będzie miała reprezentację. Problemy: B = 10 p = ze względu na skończoną dokładność (liczbę bitów) nie wszystkie liczby dadzą się przedstawić dokładnie np. dla i liczba będzie miała tylko reprezentację przybliżoną B = 2 p = = B p Postać ogólna Liczba zmiennopozycyjna w bazie i precyzji będzie miała postać: B e Zwróćmy uwagę, że reprezentacja ta nie jest jednoznaczna: liczby przedstawiają liczbę w bazie i precyzji. B p ±d. dd d, ±( d0 + d1b d p 1B (p 1) ) B e, 0 d i B 0.1 B = 10 p = i Reprezentacja znormalizowana Aby uczynić reprezentację jednoznaczną, zakłada się często : uzyskana w ten sposób reprezentacja liczb jest rzeczywiście jednoznaczna, ale... niemożliwe jest przedstawienie w niej zera w naturalny sposób najczęściej przyjmuje się, że 0 reprezentowane jest przez d B e 1 min
11 Standard IEEE 754 IEEE 754 ( ( to standard reprezentacji binarnej i operacji na liczbach zmiennoprzecinkowych. Został on ustanowiony w 1985 r przez Institute of Electrical and Electronics Engineers. Ponieważ rozwiązywał wiele problemów obecnych we wcześniejszych implementacjach reprezentacji zmiennopozycyjnych, stosowany jest powszechnie we współczesnych procesorach i oprogramowaniu obliczeniowym. B = 2 p = 24 i dla liczb w pojedynczej precyzji B = 2 i p = 53 dla liczb w podwójnej precyzji w pojedynczej precyzji liczba maszynowa ma postać: g g = ( 1) s 1.m 2 e 127 przesunięcie wykładnika o 127 (w podwójnej precyzji o 1023) powoduje, że do jego przedstawienia wystarczą liczby dodatnie w pojedynczej precyzji można przedstawić liczby rzeczywiste z zakresu w podwójnej precyzji z zakresu wartości specjalne: wartość NaN + ( ) 0 0/0, /, Liczba Reprezentacja to wynik działań: x mod 0 mod y x, x < q q N an N an najmniejsza co do modułu liczba różna od zera w reprezentacji znormalizowanej ±1, ±2, w pojedynczej precyzji w podwójnej precyzji liczby mniejsze od wartości granicznej w każdej precyzji traktowane jako 0
12 w celu zwiększenia dokładności obliczeń standard IEEE wprowadza również wartości zdenormalizowane wszystkie bity cechy równe 0 i przynajmniej jeden bit mantysy różny od zera najmniejsza liczba w pojedynczej precyzji to najmniejsza liczba w podwójnej precyzji to ±1, ±4, In [33]: import sys In [34]: sys.float_info Out[34]: sys.float_info(max= e+308, max_exp=1024, max_10_ex p=308, min= e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon= e-16, radix=2, round s=1) In [35]: fmax = sys.float_info.max In [36]: print(fmax) e+308 In [37]: 2*fmax Out[37]: inf In [38]: -2*fmax Out[38]: -inf In [39]: 1/(2*fmax) Out[39]: 0.0
13 Przykład reprezentacja liczby 5,375 Przekształcamy liczbę dziesiętną do postaci dwójkowej: 5, 375 = Otrzymaną liczbę normalizujemy: = Pomijamy wiodącą jedynkę w mantysie: Obliczamy wykładnik: = Po określeniu bitu znaku otrzymujemy ostatecznie: znak wykładnik mantysa Typowe problemy w obliczeniach zmiennopozycyjnych Z omówioną powyżej reprezentacją wiążą się pewne niedokładności w codziennych obliczeniach. Rozważmy przykład (w C++): In [40]: %%writefile reprezentacja.cpp #include <iostream> int main() { float x=0.01; if(100.0*x==1.0) std::cout << "Równe :)\n"; else std::cout << "Nierówne :(\n"; } Overwriting reprezentacja.cpp In [41]:!g++ reprezentacja.cpp -o rep In [42]:!./rep Nierówne :( Przyczyną takiego działania programu jest fakt, że liczba 0.01 nie ma dokładnej reprezentacji w standardzie IEEE, i jest przybliżana najbliższą liczbą maszynową. Podobnie:
14 In [43]: %%writefile reprezentacja2.cpp #include <iostream> int main() { float x= , y=7.0; float y1 = 1.0/y; float z= x/y; float z1 = x*y1; if(z==z1) std::cout << "Równe :)\n"; else std::cout << "Nierówne :(\n"; } Overwriting reprezentacja2.cpp In [44]:!g++ reprezentacja2.cpp -o rep2 In [45]:!./rep2 Nierówne :( 1000, 2 Kolejny przykład również związany jest z niedokładną reprezentacją, tym razem liczby : In [52]: %%writefile reprezentacja3.cpp #include <iostream> int main() { float y=1000.2; float x=y ; std::cout << x <<"\n"; } Overwriting reprezentacja3.cpp In [53]:!g++ reprezentacja3.cpp -o rep3 In [54]:!./rep Sprawdźmy, czy podobne efekty można zaobserwować w Pythonie:
15 In [55]: x = 0.01 In [57]: 100*x == 1.0 Out[57]: True In [58]: x= ; y=7.0 y1 = 1.0/y; z= x/y z1 = x*y1 In [59]: z1 == z Out[59]: True In [60]: y = x = y In [61]: print(x) Na pierwszy rzut oka Python wydaje się lepszy, ponieważ tylko w jednym z trzech przykładów obserwujemy problem związany z reprezentacją zmiennopozycyjną. Należy jednak zwrócić uwagę, że Python używa liczb zmiennopozycyjnych o podwójnej precyzji. Natomiast w powyższych przykładach w C++użyty został tym floato pojedynczej precyzji. Przepisanie tych kodów na typ double, równoważny temu w Pythonie, prowadzi do następujących wyników: In [62]: %%writefile reprezentacjab.cpp #include <iostream> int main() { double x=0.01; if(100.0*x==1.0) std::cout << "Równe :)\n"; else std::cout << "Nierówne :(\n"; } Writing reprezentacjab.cpp
16 In [63]:!g++ reprezentacjab.cpp -o repb In [64]:!./repb Równe :) In [65]: %%writefile reprezentacja2b.cpp #include <iostream> int main() { double x= , y=7.0; double y1 = 1.0/y; double z= x/y; double z1 = x*y1; if(z==z1) std::cout << "Równe :)\n"; else std::cout << "Nierówne :(\n"; } Writing reprezentacja2b.cpp In [66]:!g++ reprezentacja2b.cpp -o rep2b In [67]:!./rep2b Równe :) In [71]: %%writefile reprezentacja3b.cpp #include <iostream> int main() { double y=1000.2; double x=y ; std::cout.precision(15); std::cout << x <<"\n"; } Overwriting reprezentacja3b.cpp In [72]:!g++ reprezentacja3b.cpp -o rep3b
17 In [73]:!./rep3b Jak widać, po przejściu na podwójną precyzję w C++część problemów zniknęła. Otrzymaliśmy wyniki takie same, jak te w przykładach w Pythonie. Oczywiście, również w podwójnej precyzji możemy obserwować podobne błędy: In [76]: x = In [77]: x == 0.3 Out[77]: False In [78]: print(x) Jak widać w powyższych przykładach, bezpośrednie porównywanie liczb zmiennopozycyjnych na komputerze nie zawsze daje oczekiwany wynik. Dlatego w praktyce bardzo często traktować dwie liczby jako równe, jeżeli moduł ich różnicy jest mniejszy od małej, z góry zadanej wartości: In [79]: eps = 1.0e-6 x = y = 0.3 In [80]: x == y Out[80]: False In [81]: abs(x-y) < eps Out[81]: True
18 Uzyskaliśmy pożądany wynik, jednak ta metoda generuje kilka nowych problemów: ϵ określenie odpowiedniego nie zawsze jest sprawą oczywistą relacja zdefiniowana poprzez a b a b < ϵ nie jest relacją równoważności! Jeżeli w programie wykonujemy wiele porównań, wówczas wybieramy wartość ϵ tak, aby określała ona maksymalny błąd względny, jaki gotowi jesteśmy popełnić przy porównaniu, a następnie porównywać moduł różnicy nie z samym, a raczej z iloczynem i modułu jednej z porównywanych liczb: ϵ ϵ In [82]: eps = 1.0e-6 x = y = 0.3 In [83]: abs(x-y) < eps*abs(y) Out[83]: True
Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:
Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa,
Bardziej szczegółowoMetody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Bardziej szczegółowoWstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym
Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb
Bardziej szczegółowoLiczby zmiennoprzecinkowe i błędy
i błędy Elementy metod numerycznych i błędy Kontakt pokój B3-10 tel.: 829 53 62 http://golinski.faculty.wmi.amu.edu.pl/ golinski@amu.edu.pl i błędy Plan wykładu 1 i błędy Plan wykładu 1 2 i błędy Plan
Bardziej szczegółowoKod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci
Kod IEEE754 IEEE Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci (-1) s 1.f
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera
Bardziej szczegółowoSystemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne
Bardziej szczegółowoMetody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.
Metody numeryczne Janusz Szwabiński szwabin@ift.uni.wroc.pl nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/2002 23:02 p.1/63 Plan wykładu 1. Dokładność w obliczeniach numerycznych 2. Złożoność
Bardziej szczegółowoMetody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61
Metody numeryczne I Dokładność obliczeń numerycznych. Złożoność obliczeniowa algorytmów Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 ... the purpose of
Bardziej szczegółowoWielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika
Wielkości liczbowe Wykład z Podstaw Informatyki Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje oraz liczby naturalne od do 255
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Bardziej szczegółowoMet Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn
Metody numeryczne Wykład 2 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Arytmetyka zmiennopozycyjna
Bardziej szczegółowoZwykle liczby rzeczywiste przedstawia się w notacji naukowej :
Arytmetyka zmiennoprzecinkowa a procesory cyfrowe Prawa algebry stosują się wyłącznie do arytmetyki o nieograniczonej precyzji x=x+1 dla x będącego liczbą całkowitą jest zgodne z algebrą, dopóki nie przekroczymy
Bardziej szczegółowoPrzedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.
Bardziej szczegółowoZestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze
Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych
Bardziej szczegółowoPracownia Komputerowa wykład VI
Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1
Bardziej szczegółowoZapis liczb binarnych ze znakiem
Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.
Bardziej szczegółowoReprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej
Informatyka, studia niestacjonarne I stopnia Rok akademicki /, Wykład nr 4 /6 Plan wykładu nr 4 Informatyka Politechnika Białostocka - Wydział lektryczny lektrotechnika, semestr II, studia niestacjonarne
Bardziej szczegółowoDane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna
Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,
Bardziej szczegółowoArchitektura komputerów Reprezentacja liczb. Kodowanie rozkazów.
Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoPython wstęp do programowania dla użytkowników WCSS
Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka
Bardziej szczegółowoWprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Bardziej szczegółowoTeoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Bardziej szczegółowoARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.
ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb
Bardziej szczegółowoPułapki liczb zmiennoprzecinkowych. Adam Sawicki asawicki.info
Pułapki liczb zmiennoprzecinkowych Adam Sawicki asawicki.info 24.09.2016 Agenda Liczby zmiennoprzecinkowe Budowa Typy możliwości i ograniczenia Typy w językach programowania Pułapki Zakres Precyzja Nieskooczone
Bardziej szczegółowoKod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Bardziej szczegółowoWprowadzenie do metod numerycznych. Krzysztof Patan
Wprowadzenie do metod numerycznych Krzysztof Patan Metody numeryczne Dział matematyki stosowanej Każde bardziej złożone zadanie wymaga opracowania indywidualnej metody jego rozwiązywania na maszynie cyfrowej
Bardziej szczegółowoArchitektura komputerów
Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię
Bardziej szczegółowoSystemy zapisu liczb.
Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:
Bardziej szczegółowoPracownia Komputerowa wyk ad VI
Pracownia Komputerowa wyk ad VI dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Przypomnienie 125 (10) =? (2) Liczby ca kowite
Bardziej szczegółowoLICZBY ZMIENNOPRZECINKOWE
LICZBY ZMIENNOPRZECINKOWE Liczby zmiennoprzecinkowe są komputerową reprezentacją liczb rzeczywistych zapisanych w formie wykładniczej (naukowej). Aby uprościć arytmetykę na nich, przyjęto ograniczenia
Bardziej szczegółowoSYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M
SYSTEMY LICZBOWE SYSTEMY POZYCYJNE: dziesiętny (arabski):,, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M System pozycyjno wagowy: na przykład liczba 444 4 4 4 4 4 4 Wagi systemu dziesiętnego:,,,,...
Bardziej szczegółowoARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe
ARCHITEKTURA KOMPUTERÓW 17.11.2010 Liczby zmiennoprzecinkowe Sprawa bardzo podobna jak w systemie dziesiętnym po przecinku mamy kolejno 10-tki do ujemnych potęg, a w systemie binarnym mamy 2-ki w ujemnych
Bardziej szczegółowoTechnologie Informacyjne
System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne
Bardziej szczegółowoTyp użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.
Typy danych Aby zapisać w komputerze jakąś daną, trzeba zapamiętać trzy jej podstawowe cechy: miejsce przechowywania informacji, przechowywaną wartość, rodzaj przechowywanej wartości. Typ użyty w deklaracji
Bardziej szczegółowoDokładność obliczeń numerycznych
Dokładność obliczeń numerycznych Zbigniew Koza Wydział Fizyki i Astronomii Wrocław, 2016 MOTYWACJA Komputer czasami produkuje nieoczekiwane wyniki >> 10*(1-0.9)-1 # powinno być 0 ans = -2.2204e-016 >>
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoBŁĘDY OBLICZEŃ NUMERYCZNYCH
BŁĘDY OBLICZEŃ NUMERYCZNYCH błędy zaokrągleń skończona liczba cyfr (bitów) w reprezentacji numerycznej błędy obcięcia rozwinięcia w szeregi i procesy iteracyjne - w praktyce muszą być skończone błędy metody
Bardziej szczegółowoWstęp do informatyki- wykład 4 Deklaracja zmiennych Typy
1 Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoReprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1
Reprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1 Bity i kody binarne Bit (binary digit) najmniejsza ilość informacji {0, 1}, wysokie/niskie napięcie
Bardziej szczegółowoAdam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Sygnały dyskretne są z reguły przetwarzane w komputerach (zwykłych lub wyspecjalizowanych, takich jak procesory
Bardziej szczegółowo2018 Marcin Kukliński. Niesforne bity i bajty
Niesforne bity i bajty 2 Kilka słów O mnie @ senghe@gmail.com https://www.linkedin.com/in/marcin-kukliński 3 2017 InspiraSign - Template All rights reserved Ekipa cpp-polska 5 Marcin Kukliński Wojciech
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoSYSTEMY LICZBOWE. Zapis w systemie dziesiętnym
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Bardziej szczegółowoARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010
ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010 Do zapisu liczby ze znakiem mamy tylko 8 bitów, pierwszy od lewej bit to bit znakowy, a pozostałem 7 to bity na liczbę. bit znakowy 1 0 1 1
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. VI
Pracownia komputerowa Dariusz Wardecki, wyk. VI Powtórzenie Ile wynoszą poniższe liczby w systemie dwójkowym/ dziesiętnym? 1001101 =? 77! 63 =? 111111! Arytmetyka w reprezentacji bezznakowej Mnożenie liczb
Bardziej szczegółowoPracownia Komputerowa wykład V
Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system
Bardziej szczegółowoArytmetyka binarna - wykład 6
SWB - Arytmetyka binarna - wykład 6 asz 1 Arytmetyka binarna - wykład 6 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Arytmetyka binarna - wykład 6 asz 2 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2
Bardziej szczegółowoAdam Korzeniewski p Katedra Systemów Multimedialnych
Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych Sygnały dyskretne są z reguły przetwarzane w komputerach (zwykłych lub wyspecjalizowanych, takich jak procesory
Bardziej szczegółowoSamodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Bardziej szczegółowoObliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.
Obliczenia Naukowe O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć Bartek Wilczyński bartek@mimuw.edu.pl 29. lutego 2016 Plan semestru Arytmetyka komputerów, wektory, macierze i operacje na nich
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków
Bardziej szczegółowoDr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Ćwiczenia i laboratorium 2 Kolokwia zaliczeniowe - 1 termin - poniedziałek, 29 stycznia 2018 11:30
Bardziej szczegółowoC++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42 Reprezentacja liczb całkowitych
Bardziej szczegółowoSYSTEMY LICZBOWE 275,538 =
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Bardziej szczegółowoArytmetyka stało i zmiennoprzecinkowa
Arytmetyka stało i zmiennoprzecinkowa Michał Rudowicz 171047 Łukasz Sidorkiewicz 170991 Piotr Lemański 171009 Wydział Elektroniki Politechnika Wrocławska 26 października 2011 Spis Treści 1 Reprezentacja
Bardziej szczegółowoTechnologie Informacyjne Wykład 4
Technologie Informacyjne Wykład 4 Arytmetyka komputerów Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny Politechnika Wrocławska 30 października 2014 Część
Bardziej szczegółowoWstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoWstęp do informatyki- wykład 1 Systemy liczbowe
1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz,
Bardziej szczegółowoKodowanie liczb całkowitych w systemach komputerowych
Kodowanie liczb całkowitych w systemach komputerowych System pozycyjny Systemy addytywne znaczenie historyczne Systemy pozycyjne r podstawa systemu liczbowego (radix) A wartość liczby a - cyfra i pozycja
Bardziej szczegółowoPracownia Komputerowa wykład IV
Pracownia Komputerowa wykład IV dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoProgramowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Bardziej szczegółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowoLABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Bardziej szczegółowo1.1. Pozycyjne systemy liczbowe
1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoMETODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?
METODY NUMERYCZNE Wykład 2. Analiza błędów w metodach numerycznych Met.Numer. wykład 2 1 Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)? Przykład 1. W jaki sposób można zapisać
Bardziej szczegółowoDYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE
ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE @KEMOR SPIS TREŚCI. SYSTEMY LICZBOWE...3.. SYSTEM DZIESIĘTNY...3.2. SYSTEM DWÓJKOWY...3.3. SYSTEM SZESNASTKOWY...4 2. PODSTAWOWE OPERACJE NA LICZBACH BINARNYCH...5
Bardziej szczegółowoArytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
Bardziej szczegółowoDane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna
Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,
Bardziej szczegółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowoMetody numeryczne II. Reprezentacja liczb
Metody numeryczne II. Reprezentacja liczb Oleksandr Sokolov Wydział Fizyki, Astronomii i Informatyki Stosowanej UMK (2016/17) http://fizyka.umk.pl/~osokolov/mnii/ Reprezentacja liczb Reprezentacja stałopozycyjna
Bardziej szczegółowo1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Bardziej szczegółowoDodatek do Wykładu 01: Kodowanie liczb w komputerze
Dodatek do Wykładu 01: Kodowanie liczb w komputerze [materiał ze strony: http://sigma.wsb-nlu.edu.pl/~szyszkin/] Wszelkie dane zapamiętywane przetwarzane przez komputery muszą być odpowiednio zakodowane.
Bardziej szczegółowoPodstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Bardziej szczegółowoPozycyjny system liczbowy
Arytmetyka binarna Pozycyjny system liczbowy w pozycyjnych systemach liczbowych wkład danego symbolu do wartości liczby jest określony zarówno przez sam symbol, jak i jego pozycję w liczbie i tak np. w
Bardziej szczegółowoNaturalny kod binarny (NKB)
SWB - Arytmetyka binarna - wykład 6 asz 1 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2 1 0 wartość 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 wartość 128 64 32 16 8 4 2 1 bity b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 System
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
Bardziej szczegółowoArytmetyka liczb wymiernych w języku C++
Arytmetyka liczb wymiernych w języku C++ Monika Zagała Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok V m_zagala@o2.pl Streszczenie Poniższa praca przedstawia projekt oraz implementację
Bardziej szczegółowo5. Rekurencja. Przykłady
5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.
Bardziej szczegółowoREPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH
REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja
Bardziej szczegółowoW jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych
Arytmetyka komputerowa Wszelkie liczby zapisuje się przy użyciu bitów czyli cyfr binarnych: 0 i 1 Ile różnych liczb można zapisać używajac n bitów? n liczby n-bitowe ile ich jest? 1 0 1 00 01 10 11 3 000001010011100101110111
Bardziej szczegółowoSystem liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.
2. Arytmetyka komputera. Systemy zapisu liczb: dziesietny, dwójkowy (binarny), ósemkowy, szesnatskowy. Podstawowe operacje arytmetyczne na liczbach binarnych. Zapis liczby binarnej ze znakiem. Reprezentacja
Bardziej szczegółowoWstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else
1 Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012
Bardziej szczegółowoWstęp do Informatyki i Programowania (kierunek matematyka stosowana)
Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Jacek Cichoń Przemysław Kobylański Instytut Matematyki i Informatyki Politechnika Wrocławska Na podstawie: M.Summerfield.Python 3. Kompletne
Bardziej szczegółowo3.3.1. Metoda znak-moduł (ZM)
3.3. Zapis liczb binarnych ze znakiem 1 0-1 0 1 : 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 reszta 0 0 0 0 0 0 0 1 3.3. Zapis liczb binarnych ze znakiem W systemie dziesiętnym liczby ujemne opatrzone są specjalnym
Bardziej szczegółowoEMN. dr Wojtek Palubicki
EMN dr Wojtek Palubicki Zadanie 1 Wyznacz wszystkie dodatnie liczby zmiennopozycyjne (w systemie binarnym) dla znormalizowanej mantysy 3-bitowej z przedziału [0.5, 1.0] oraz cechy z zakresu 1 c 3. Rounding
Bardziej szczegółowoKodowanie informacji. Kody liczbowe
Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,
Bardziej szczegółowoInformatyka 1. Wykład nr 5 (13.04.2008) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc
Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia (zaoczne) Rok akademicki 2007/2008 Wykład nr 5 (3.04.2008) Rok akademicki 2007/2008,
Bardziej szczegółowoWprowadzenie do informatyki - ć wiczenia
Stałoprzecinkowy zapis liczb wymiernych dr inż. Izabela Szczęch WSNHiD Ćwiczenia z wprowadzenia do informatyki Reprezentacja liczb wymiernych Stałoprzecinkowa bez znaku ze znakiem Zmiennoprzecinkowa pojedynczej
Bardziej szczegółowoArytmetyka stałopozycyjna
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3. Arytmetyka stałopozycyjna Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych.
Bardziej szczegółowoKod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Jeśli bit znaku przyjmie wartość 0 to liczba jest dodatnia lub posiada wartość 0. Jeśli bit
Bardziej szczegółowoProgramowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Bardziej szczegółowo