2018 Marcin Kukliński. Niesforne bity i bajty
|
|
- Mikołaj Sadowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Niesforne bity i bajty
2 2 Kilka słów O senghe@gmail.com
3 3
4 2017 InspiraSign - Template All rights reserved
5 Ekipa cpp-polska 5 Marcin Kukliński Wojciech Razik Michał Rudowicz Bartłomiej Filipek Kompilacja & Mario::Edit CppNews & Modern C++ Modern C++ C++17
6 Nasze statystyki 6
7 Nasze statystyki 7
8 Znajdziecie nas @CppPolska
9 Naszym celem jest: 9 Propagowanie wiedzy o nowoczesnym C++
10 Może do nas dołączysz? 10 Ty
11 11 Wracając do bitów
12 12 To jest bit 1
13 13 To też jest bit 0
14 14 1 A to jest bajt
15 15 Liczby całkowite
16 Kod uzupełnień do jedności (U1) 16
17 Kod uzupełnień do jedności (U1) 17 Kod uzupełnień do jedności to sposób zapisu liczb całkowitych oznaczany jako ZU1 lub U1. Liczby dodatnie zapisywane są jak w naturalnym kodzie binarnym, przy czym najbardziej znaczący bit traktowany jako bit znaku musi mieć wartość 0. Do reprezentowania liczb ujemnych wykorzystywana jest bitowa negacja danej liczby, co sprawia, że bit znaku ma wartość 1. Źródło:
18 Kod uzupełnień do jedności (U1)
19 Kod uzupełnień do jedności (U1)
20 Kod uzupełnień do jedności (U1)
21 Kod uzupełnień do jedności (U1)
22 Kod uzupełnień do jedności (U1) = 67
23 Kod uzupełnień do jedności (U1) =
24 Kod uzupełnień do jedności (U1) =
25 Kod uzupełnień do jedności (U1) =
26 Kod uzupełnień do jedności (U1) =
27 Kod uzupełnień do jedności (U1) =
28 Kod uzupełnień do jedności (U1) = = -67
29 29 Co z zerem?
30 U1 daje nam dwie wartości zerowe 30 Zero dodatnie: Zero ujemne:
31 Kod uzupełnień do dwóch (U2) 31
32 Kod uzupełnień do dwóch (U2) 32 Kod uzupełnień do dwóch (w skrócie U2 lub ZU2) system reprezentacji liczb całkowitych w dwójkowym systemie pozycyjnym. Jest obecnie najpopularniejszym sposobem zapisu liczb całkowitych w systemach cyfrowych. ( ) Zaletą tego kodu jest również istnienie tylko jednego zera. Przedział kodowanych liczb nie jest przez to symetryczny. Źródło:
33 Kod uzupełnień do dwóch (U2)
34 Kod uzupełnień do dwóch (U2)
35 Kod uzupełnień do dwóch (U2)
36 Kod uzupełnień do dwóch (U2)
37 Kod uzupełnień do dwóch (U2) = 67
38 Kod uzupełnień do dwóch (U2) =
39 Kod uzupełnień do dwóch (U2) =
40 Kod uzupełnień do dwóch (U2) =
41 Kod uzupełnień do dwóch (U2) =
42 Kod uzupełnień do dwóch (U2) =
43 Kod uzupełnień do dwóch (U2) = = -67 1
44 Kod uzupełnień do dwóch (U2) 44 unsigned char
45 Kod uzupełnień do dwóch (U2) 45 unsigned char signed char
46 46 Dlaczego to jest ważne?
47 Co mówi standard 47 The range of representable values for a signed integer type is 2 N 1 to 2 N 1 1 (inclusive), where N is called the range exponent of the type Źródło:
48 48 Integer Overflow
49 Integer Overflow 49 Wyrzucenie wyjątku INT_MAX + 10 = Exception
50 Integer Overflow 50 Przycięcie wyniku INT_MAX + 10 = 10
51 Integer Overflow 51 Saturacja INT_MAX + 10 = INT_MAX
52 Co mówi standard 52 For each of the standard signed integer types, there exists a corresponding (but different) standard unsigned integer type: unsigned char, unsigned short int, unsigned int, unsigned long int, and unsigned long long int. Likewise, for each of the extended signed integer types, there exists a corresponding extended unsigned integer type. The standard and extended unsigned integer types are collectively called unsigned integer types. An unsigned integer type has the same range exponent N as the corresponding signed integer type. The range of representable values for the unsigned type is 0 to 2 N 1 (inclusive); arithmetic for the unsigned type is performed modulo 2 N. [ Note: Unsigned arithmetic does not overflow. Overflow for signed arithmetic yields undefined behavior Źródło:
53 53 Integer Overflow to UB
54 Undefined Behavior 54 Nie mamy pewności, co zostanie wykonane przez procesor
55 Undefined Behavior 55 Nie mamy pewności, co zostanie wykonane przez procesor Kompilator zakłada, że niezdefiniowane zachowanie nigdy nie ma miejsca
56 Undefined Behavior 56 Nie mamy pewności, co zostanie wykonane przez procesor Kompilator zakłada, że niezdefiniowane zachowanie nigdy nie ma miejsca Cała odpowiedzialność zostaje zrzucona na programistę
57 57 UB vs Implementation Defined
58 Jak radzić sobie z Integer Overflow? 58 int add(int a, int b) { } int sum = a + b; if (a > 0 && b > 0) { if (sum < a) { throw E(); } if (sum < b) { } } return sum; throw E();
59 Jak radzić sobie z Integer Overflow? 59 int add(int a, int b) { int sum = a + b; if (a > 0 && b > 0) { // if (sum < a) { // throw E(); // } // if (sum < b) { // throw E(); // } } } return sum;
60 Jak radzić sobie z Integer Overflow? 60 unsigned add(unsigned a, unsigned b) { if (INT_MAX-a < b) { throw E(); } return a + b; }
61 Jak radzić sobie z Integer Overflow? 61 unsigned add(unsigned a, unsigned b) { if (INT_MAX-a < b) { throw E(); } return a + b; }
62 Jak radzić sobie z Integer Overflow? 62 int add(int a, int b) { } if (b > 0 && a > 0) { if (INT_MAX-a < b) { throw E(); } } else if (b < 0 && a < 0) { if (INT_MIN-a > b) { } throw E(); } return a + b;
63 Jak radzić sobie z Integer Overflow? 63 int add(int a, int b) { } if (b > 0 && a > 0) { if (INT_MAX-a < b) { throw E(); } } else if (b < 0 && a < 0) { if (INT_MIN-a > b) { } throw E(); } return a + b;
64 Jak radzić sobie z Integer Overflow? 64 int add(int a, int b) { } if (b > 0 && a > 0) { if (INT_MAX-a < b) { throw E(); } } else if (b < 0 && a < 0) { if (INT_MIN-a > b) { } throw E(); } return a + b;
65 Jak radzić sobie z Integer Overflow? 65 int add(int a, int b) { } if (b > 0 && a > 0) { if (INT_MAX-a < b) { throw E(); } } else if (b < 0 && a < 0) { if (INT_MIN-a > b) { } throw E(); } return a + b;
66 66 Ukryty Integer Overflow
67 Ukryty Integer Overflow 67 int main(int argc, char* argv[]) { uint64_t v = 0x * 2; std::cout << std::hex << v << std::endl; return 0; }?
68 Ukryty Integer Overflow 68 int main(int argc, char* argv[]) { uint64_t v = 0x * 2; std::cout << std::hex << v << std::endl; return 0; }
69 Ukryty Integer Overflow 69 int main(int argc, char* argv[]) { uint32_t v = 0x * 2; std::cout << std::hex << v << std::endl; return 0; }
70 Ukryty Integer Overflow 70 int main(int argc, char* argv[]) { uint64_t v = 0x * 2; std::cout << std::hex << v << std::endl; return 0; }
71 Ukryty Integer Overflow 71 int main(int argc, char* argv[]) { uint64_t v = 0x ULL * 2; std::cout << std::hex << v << std::endl; return 0; }
72 Ukryty Integer Overflow 72 int main(int argc, char* argv[]) { uint64_t v = 0x * 2ULL; std::cout << std::hex << v << std::endl; return 0; }
73 Ukryty Integer Overflow 73 int main(int argc, char* argv[]) { uint64_t v = 0x * 2ULL; std::cout << std::hex << v << std::endl; return 0; }
74 74 Czym jest promocja typu?
75 Czym jest promocja typu 75 Promocją typu nazywamy proces polegający na zwiększeniu ilości bajtów przechowujących konkretną wartość bez zmiany tej wartości.
76 Czym jest promocja typu 76 8 bit => 16 bit
77 Czym jest promocja typu 77 8 bit => 16 bit unsigned => unsigned =>
78 Czym jest promocja typu 78 8 bit => 16 bit unsigned => unsigned => signed => signed =>
79 79 Czym jest konwersja typu?
80 Czym jest konwersja typu? 80 Konwersją typu nazywamy proces polegający na zmianie kodowania przechowywanej wartości, niekoniecznie zmieniając przy tym samą wartość.
81 Czym jest konwersja typu? 81 int32_t 42 =>
82 Czym jest konwersja typu? 82 int32_t 42 => float 42.0f =>
83 Ukryty Integer Overflow 83 #include <iostream> int main(int argc, char* argv[]) { std::cout << abs(int_min) << std::endl; return 0; }?
84 Ukryty Integer Overflow 84 #include <iostream> int main(int argc, char* argv[]) { std::cout << abs(int_min) << std::endl; return 0; }
85 Zwykła implementacja 85 unsigned abs(int value) { if (value < 0) { return -value; } return value; }
86 Poprawna implementacja 86 unsigned safe_abs(int value) { if (value == INT_MIN) { throw E{}; } return abs(value); }
87 87 Big Integer
88 Big Integer 88 Każda cyfra przechowywana jest jako kolejny element tablicy (niekoniecznie w formie dziesiętnej)
89 Big Integer 89 Każda cyfra przechowywana jest jako kolejny element tablicy (niekoniecznie w formie dziesiętnej) Operacje na Big Integer-ach przypominają operacje pisemne stosowane w szkole podstawowej
90 Big Integer 90 Każda cyfra przechowywana jest jako kolejny element tablicy (niekoniecznie w formie dziesiętnej) Operacje na Big Integer-ach przypominają operacje pisemne stosowane w szkole podstawowej Biblioteka standardowa C++ nie posiada implementacji dla Big Integer
91 Big Integer 91 Każda cyfra przechowywana jest jako kolejny element tablicy (niekoniecznie w formie dziesiętnej) Operacje na Big Integer-ach przypominają operacje pisemne stosowane w szkole podstawowej Biblioteka standardowa C++ nie posiada implementacji dla Big Integer Biblioteka Boost posiada implementację Big Integer: boost/multiprecision/cpp_int
92 Big Integer 92 Zaleta: Ogarniamy duże liczby
93 Big Integer 93 Zaleta: Ogarniamy duże liczby Wada: Procesory natywnie nie wspierają Big Integer-ów
94 Big Integer 94 Zaleta: Ogarniamy duże liczby Wada: Procesory natywnie nie wspierają Big Integer-ów Wada: Im większa liczba, tym wolniej się liczy
95 95 Ułamki bitowe
96 Ułamki bitowe dec =?bin
97 Ułamki bitowe dec =?bin 14 / 2 = / 2 = / 2 = / 2 = 0 1
98 Ułamki bitowe dec = 1110.?bin
99 Ułamki bitowe dec = 1110.?bin * 2 = * 2 = * 2 = * 2 = * 2 = 0
100 Ułamki bitowe dec = bin
101 Ułamki bitowe dec = bin
102 Ułamki bitowe 102 Stosując ułamki bitowe, to my decydujemy o ich dokładności
103 Ułamki bitowe 103 Stosując ułamki bitowe, to my decydujemy o ich dokładności Na ułamkach bitowych można operować podobnie jak na liczbach całkowitych
104 Ułamki bitowe 104 Stosując ułamki bitowe, to my decydujemy o ich dokładności Na ułamkach bitowych można operować podobnie jak na liczbach całkowitych Biblioteka standardowa C++ nie posiada implementacji dla liczb stałoprzecinkowych
105 Ułamki bitowe 105 Stosując ułamki bitowe, to my decydujemy o ich dokładności Na ułamkach bitowych można operować podobnie jak na liczbach całkowitych Biblioteka standardowa C++ nie posiada implementacji dla liczb stałoprzecinkowych Przykładowa implementacja: fixed_point
106 106 Liczby zmiennoprzecinkowe
107 Ile razy zostanie wykonana pętla? 107 #include <iostream> int main() { float i=0.0f; do { std::cout << "Loop " << std::endl; i+=0.1f; } while (i!= 1.0f); }
108 Ile razy zostanie wykonana pętla? 108 #include <iostream> int main() { float i=0.0f; do { std::cout << "Loop " << std::endl; i+=0.1f; } while (i!= 1.0f); } Odpowiedź: to jest pętla nieskończona
109 109 Ale dlaczego?
110 Niedokładne liczby zmiennoprzecinkowe 110 #include <iostream> #include <iomanip> int main() { std::cout << std::setprecision(10) << 0.1f << std::endl; } Na wyjściu:
111 Co pojawi się na wyjściu? 111 #include <iostream> #include <iomanip> int main() { float amountofproduct = f; unsigned long int quantity = ; float amountofcheckout = amountofproduct*quantity; } std::cout << std::setprecision(15) << amountofcheckout << std::endl; return 0;
112 Co pojawi się na wyjściu? 112 #include <iostream> #include <iomanip> int main() { float amountofproduct = f; unsigned long int quantity = ; float amountofcheckout = amountofproduct*quantity; } std::cout << std::setprecision(15) << amountofcheckout << std::endl; return 0; Odpowiedź:
113 Co mówi standard 113 There are three floating-point types: float, double, and long double. The type double provides at least as much precision as float, and the type long double provides at least as much precision as double. The set of values of the type float is a subset of the set of values of the type double; the set of values of the type double is a subset of the set of values of the type long double. The value representation of floating-point types is implementation-defined. [ Note: This document imposes no requirements on the accuracy of floating-point operations; see also [support.limits]. end note ] Integral and floating-point types are collectively called arithmetic types. Specializations of the standard library template std::numeric_limits shall specify the maximum and minimum values of each arithmetic type for an implementation. Źródło:
114 114 Standard IEEE 754
115 Standard IEEE dec = bin
116 Standard IEEE Znak Wykładnik Mantysa 0.1dec = bin
117 Standard IEEE Znak Wykładnik Mantysa 0.1dec = bin float 1 bit 8 bitów 23 bity
118 Standard IEEE Znak Wykładnik Mantysa 0.1dec = bin float double 1 bit 8 bitów 23 bity 1 bit 11 bitów 52 bity
119 Standard IEEE Znak Wykładnik Mantysa 0.1dec = bin float double 1 bit 8 bitów 23 bity 1 bit 11 bitów 52 bity bias = 127 bias = 1023
120 120 Float to bin
121 Standard IEEE dec =
122 Standard IEEE Znak dec = 1
123 Standard IEEE Znak dec = 1 41 / 2 = / 2 = / 2 = / 2 = / 2 = / 2 = 0 1
124 Standard IEEE Znak Mantysa dec =
125 Standard IEEE dec = Znak Mantysa 0.27 * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = 0.08
126 Standard IEEE Znak Mantysa dec =
127 Standard IEEE Znak Mantysa dec =
128 Standard IEEE Znak Mantysa dec =
129 Standard IEEE Znak Mantysa dec = = 132dec =
130 Standard IEEE Znak Mantysa dec = = 132dec = 132 / 2 = / 2 = / 2 = 16 1 = bin 16 / 2 = / 2 = / 2 = / 2 = / 2 = 0 1
131 Standard IEEE Znak Wykładnik Mantysa dec =
132 Standard IEEE Znak Wykładnik Mantysa dec =
133 Standard IEEE Znak Wykładnik Mantysa dec =
134 134 Bin to float
135 Standard IEEE Znak Wykładnik Mantysa?dec =
136 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) Z * M * 2 K-bias
137 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) Z * M * 2 K-bias
138 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) 1 * M * 2 K-bias
139 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) 1 * M * 2 K-127
140 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) 1 * M *
141 Standard IEEE Znak Wykładnik Mantysa?dec = L = (-1) 1 * *
142 Standard IEEE Znak Wykładnik Mantysa?dec = L = -1 * * 2 5
143 Standard IEEE Znak Wykładnik Mantysa?dec = L = * 32
144 Standard IEEE Znak Wykładnik Mantysa?dec = L =
145 Standard IEEE Znak Wykładnik Mantysa?dec = L =
146 Standard IEEE Znak Wykładnik Mantysa?dec = L =
147 Standard IEEE Wartości specjalne NaN =>
148 Standard IEEE Wartości specjalne NaN => INF =>
149 Standard IEEE Wartości specjalne NaN => INF => INF =>
150 150 Boost multiprecision
151 Boost multiprecision 151 // Sprawdzamy, czy możemy osiągnąć wartość 0.1 long double a = 0.1; std::cout << std::setprecision(100) << a << std::endl; cpp_dec_float_100 b("0.1"); std::cout << std::setprecision(100) << b << std::endl;
152 Boost multiprecision 152 long double a = 0.1; std::cout << std::setprecision(100) << a << std::endl; cpp_dec_float_100 b("0.1"); std::cout << std::setprecision(100) << b << std::endl; Na wyjściu:
153 Boost multiprecision 153 cpp_dec_float_100 counter; // Domyślna wartość jest ustawiana na 0 do { std::cout << "Loop " << std::endl; counter += cpp_dec_float_100("0.1"); } while (counter!= 1.0);
154 Boost multiprecision 154 cpp_dec_float_100 counter; // Domyślna wartość jest ustawiana na 0 do { std::cout << "Loop " << std::endl; counter += cpp_dec_float_100("0.1"); } while (counter!= 1.0); Pętla wykona się dokładnie 10 razy
155 Boost multiprecision 155 float amountofproduct = f; unsigned long int quantity = ; float amountofcheckout = amountofproduct*quantity; std::cout << std::setprecision(30) << amountofcheckout << std::endl; cpp_dec_float_50 amountofproduct2 = cpp_dec_float_50("254.99"); cpp_dec_float_50 quantity2 = cpp_dec_float_50(" "); cpp_dec_float_50 amountofcheckout2 = cpp_dec_float_50(amountofproduct2*quantity2); std::cout << std::setprecision(30) << amountofcheckout2 << std::endl;
156 Boost multiprecision 156 float amountofproduct = f; unsigned long int quantity = ; float amountofcheckout = amountofproduct*quantity; std::cout << std::setprecision(30) << amountofcheckout << std::endl; cpp_dec_float_50 amountofproduct2 = cpp_dec_float_50("254.99"); cpp_dec_float_50 quantity2 = cpp_dec_float_50(" "); cpp_dec_float_50 amountofcheckout2 = cpp_dec_float_50(amountofproduct2*quantity2); std::cout << std::setprecision(30) << amountofcheckout2 << std::endl; Na wyjściu:
157 Decimal float a standard C Są propozycje dodania typów decimal floating-point do standardu:
158 158 K NIEC
Wprowadzenie 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)
Podstawy 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
Podstawy 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
Podstawy 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
Programowanie 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
Programowanie 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
Kodowanie liczb. Reprezentacja liczb całkowitych. Standard IEEE 754. dr inż. Jarosław Forenc
Rok akademicki 18/19, Wykład nr 4 /63 Plan wykładu nr 4 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 18/19 Wykład
Naturalny 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
Pracownia 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
C++ 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
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Arytmetyka 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
Reprezentacja 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
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania weryfikacyjne:
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,
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Reprezentacja 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
Arytmetyka 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
Metody 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
Kodowanie 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
Pracownia 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
Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze
Podstawy Informatyki Wykład 2 Reprezentacja liczb w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych
SYSTEMY 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:,,,,...
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
ARCHITEKTURA 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
Kod 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
Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)
Podstawy Informatyki Wykład 2 Reprezentacja liczb w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych
Adam 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
Wstę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
Adam 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
Pracownia 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
Teoretyczne 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
Pracownia 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
Algorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
Dokł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 >>
Pracownia Komputerowa wyk ad IV
Pracownia Komputerowa wykad IV dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Reprezentacje liczb i znaków Liczby: Reprezentacja
Zwykle 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
Technologie 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
Wielkoś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
Instrukcja 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.
Architektura 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
Wielkoś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
Dr 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
Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59:
Program w C wer. 12 z drobnymi modyfikacjami! Wojciech Myszka 2018-06-29 14:59:06 +0200 Tak wygląda program w języku C 1 /* H e l l o World i n C, Ansi s t y l e */ 2 # i n c l u d e < s t d i o. h> 3
Typ 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
ARCHITEKRURA 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
Wstęp do programowania
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
Przedmiot: 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.
Dane, 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,
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Pracownia 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
Reprezentacja symboli w komputerze.
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
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
DYDAKTYKA 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
Wstę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
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2018/2019 Wykład nr 7 (12.04.2019) Rok akademicki 2018/2019, Wykład
Stan wysoki (H) i stan niski (L)
PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery
Wstęp do Informatyki Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery Pozycyjne systemy liczbowe Dziesiętny system liczbowy (o podstawie 10):
1 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
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7
Informatyka 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,
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla
Systemy 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
Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych
Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:
Program w C wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2015-05-02 18:28:29 +0200 Tak wygląda program w języku C 1 / Hello World in C, Ansi s t y l e / 2 #include < s t d i o. h> 3 i n t main ( void
Metody 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
Kodowanie 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,
Obliczenia 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
Architektura 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
4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Standardy reprezentacji wartości całkowitoliczbowych
Puł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
LICZBY 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
( wykł. dr Marek Piasecki )
INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki 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
Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2
Cyfrowy zapis informacji 5 grudnia 2013 Wojciech Kucewicz 2 Bit, Bajt, Słowo 5 grudnia 2013 Wojciech Kucewicz 3 Cyfrowy zapis informacji Bit [ang. binary digit] jest elementem zbioru dwuelementowego używanym
Systemy 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:
Podstawy 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
LABORATORIUM 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
Technologie 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ęść
3.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
Zapis 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.
Kod 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
Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:
Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)
Pracownia Komputerowa wyk ad V
Pracownia Komputerowa wyk ad V dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Reprezentacje liczb i znaków Liczby: Reprezentacja
Architektura 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ę
Temat 4. Kodowanie liczb
Temat 4. Kodowanie liczb Spis treści do tematu 4 4.1. Kodowanie liczb stałopozycyjnych 4.1.1. Naturalny kod binarny NKB 4.1.2. Kod dwójkowo-dziesiętny BCD 4.1.3. Kod Graya 4.1.4. Kod znak-moduł 4.1.5.
Informatyka 1. Wykład nr 4 ( ) Plan wykładu nr 4. Politechnika Białostocka. - Wydział Elektryczny
Rok akademicki 8/9, Wykład nr 4 /8 Plan wykładu nr 4 Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 8/9 Wykład nr
Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne
Arytmetyka stało- i zmiennoprzecinkowa 1. Informacje wstępne Każdą informację można przedstawid w komputerze za pomocą łaocucha elemantarnych jednostek, zwanych bitami. W przypadku, gdy chcielibyśmy wyrazid
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
1.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
Dodatek 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.
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Kod 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
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Programowanie w języku C++
INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 2 Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a
Pozycyjny 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
Dane, 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,