Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:
|
|
- Fabian Podgórski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ Spójrzmy na następujące zdanie: Jeśli mamy trochę wolnego czasu i (ang. and) pogoda jest dobra, to pójdziemy na spacer. Użyliśmy kombinacji "and", co oznacza, że chodzenie na spacer zależy od jednoczesnego spełnienia dwóch warunków mamy trochę wolnego czasu; pogoda jest dobra. W języku logiki takie warunki łączenia nazywa się koniunkcją (iloczynem zdań) oznaczenie w języku C++ - && - operator logiczny AND Pozwala nam kodować złożone warunki bez użycia nawiasów takich jak ten licznik > 0 && wartość == 100 Wynik operatora && może być określony przez tzw. Tablicę prawdy
2 OR - A teraz kolejny przykład: Jeśli jesteś w centrum handlowym lub (ang. or) jestem w centrum handlowym, jeden z nas kupi prezent dla mamy. Użycie słowa "lub" oznacza, że zakup zależy od co najmniej jednego z tych warunków. W logice związek taki jak ten nazywany jest alternatywą (sumą logiczną) oznaczenie w języku C operator logiczny OR. Jest to operator binarny o priorytecie niższym niż && (podobnie jak "+" w porównaniu do "*"). Jego tabela prawdy wygląda tak: NOT -! Ponadto istnieje inny operator, który może zostać użyty do skonstruowania warunków. To jednoargumentowy operator dokonujący logicznej negacji. Jego działanie jest proste: zamienia prawdę w fałsz i fałsz w prawdę. - oznaczenie w języku C++ -! (wykrzyknik) - jego priorytet jest bardzo wysoki: taki sam jak operatorów inkrementacji i dekrementacji. Tabela prawdy
3 Przykłady użycia operatorów logicznych Zwróć uwagę, że następujące warunki są równoważne sobie nawzajem Zmienna> 0!(Zmienna <= 0) Zmienna!= 0!(Zmienna == 0) Prawa De Morgana Negacja koniunkcji (iloczynu logicznego) jest przeciwieństwem negacji.!(p && q) ==!p!q Negacja przeciwieństwa jest połączeniem negacji (iloczynem logicznym negacji)!(p q) ==!p &&!q
4 Operatory bitowe AND, OR,NOT, XOR Operatory logiczne przyjmują argumenty jako całość, niezależnie od liczby bitów, które zawierają. Operatory znają tylko wartości 0 - fałsz (gdy wszystkie bity są resetowane), lub nie 0 - prawda (gdy ustawiony jest co najmniej jeden bit). Wynikiem ich operacji jest albo wartość 0 (fałsz), albo 1 (prawda). Operatory bitowe & (AND) (ampersand) koniunkcja bitowa wymaga dokładnie dwóch "1", aby w rezultacie uzyskać "1" (OR)(bar) rozróżnianie bitowe wymaga co najmniej jednego "1" jako wyniku "1" ^ (XOR)(caret) bitowy wyłączny lub (albo) wymaga dokładnie jednego "1", aby podać "1"
5 ~ (NOT) (tylda) bitowa negacja dla 1 jako wynik poda 0 i odwrotnie dla 0 poda 1 UWAGA: argumenty tych operatorów muszą być liczbami całkowitymi (int, a także long, short lub char).
6 Różnica w działaniu operatorów logicznych i bitowych 1. Operatory logiczne nie wnikają do poziomu bitów argumentu. Interesuje je tylko końcowa wartość całkowita. 2. Operatory bitowe są bardziej rygorystyczne: zajmują się każdym bitem osobno. Jeśli przyjmiemy, że zmienna int zajmuje 32 bity, można sobie wyobrazić operację bitową jako 32-krotną ocenę operatora logicznego dla każdej pary bitów argumentów. Ta analogia jest oczywiście niedoskonała, ponieważ w rzeczywistości wszystkie 32 operacje wykonywane są w tym samym czasie.
7 Sposoby użycia operatorów logicznych i bitowych Pokażemy teraz przykład różnicy operacji między operacjami logicznymi i bitowymi. Załóżmy, że wykonano następującą deklarację: int i = 15, j = 22; Jeśli założymy, że typ zmiennej int jest przechowywany jako liczba 32 bitowa, to obraz bitowy dwóch zmiennych będzie wyglądał następująco Użycie operatora logicznego - operacja logiczna (AND) Zapis w C++ int log = i && j; Mamy do czynienia z iloczynem logicznym. Prześledźmy przebieg obliczeń. Obie zmienne i i j nie są zerami, więc będą uważane za reprezentujące "prawdę". Jeśli sprawdzimy tabelę prawdy dla operatora &&, widzimy, że wynik będzie "prawdą", dla tych wartości, gdzie liczba całkowita jest równą 1. Oznacza to, że bitowy obraz zmiennej log jest następujący:
8 Użycie operatora bitowego operacja bitowa (AND) Zapis w C++ int bit = i & j; Operator & będzie działał z każdą parą odpowiednich bitów osobno, tworząc wartości odpowiednich bitów wyniku. Dlatego wynik jest taki Użycie operatora logicznego operacja logiczna (NOT) Zapis w C++ int logneg =! i; Zmienna logneg zostanie ustawiona na 0, więc jej obraz będzie składał się tylko z zer. Użycie operatora bitowego operacja bitowa (NOT) Zapis w C++ int bitneg = ~ i; Może cię zaskoczyć fakt, że wartość zmiennej bitneg wynosi -16. Dziwne? Nie, wcale nie!
9 Możemy użyć każdego z poprzednich dwóch argumentów operatorów w ich skróconej formie. Oto przykłady równoważnych notatek.
10 Operacje na bitach Do czego można użyć operatorów bitowych? PROBLEM Wyobraź sobie, że musisz napisać ważny element systemu operacyjnego. 1. Powiedziano Ci, że musisz użyć zmiennej zadeklarowanej w następujący sposób: Zmienna przechowuje informacje o różnych aspektach działania systemu. Każdy bit zmiennej przechowuje jedną wartość tak / nie. 2. Powiedziano ci również, że tylko jeden z 32 bitów możesz wykorzystać - bit numer trzy (pamiętaj, że bity są ponumerowane od 0, a bit 0 jest najniższy, a najwyższy to 31). Pozostałe bity nie mogą się zmienić, ponieważ są przeznaczone do przechowywania innych danych. Oto twój bit oznaczony literą "x"
11 PRZYKŁAD 1. Sprawdzenie stanu swojego bitu; porównanie całej zmiennej do zera nie spowoduje niczego, ponieważ pozostałe bity mogą mieć całkowicie nieprzewidywalne wartości, ale możemy użyć następującej właściwości koniunkcji: x & 1 = x x & 0 = 0 Jeśli zastosujemy operację & do zmiennej FlagRegister wraz z następującym obrazem bitowym: (zauważ "1" na pozycji twojego bitu), otrzymujemy jeden z następujących łańcuchów bitów: a. jeśli twój bit był ustawiony na "1", b. jeśli twój bit został zresetowany do "0" UWAGA: Ta sekwencja zer i jedynek, której zadaniem jest pobranie wartości lub zmiana wybranych bitów, nazywana jest maską bitową. 2. Tworzenie maski bitowej - aby wykryć stan swojego bitu. Powinien wskazywać na trzeci bit. Ten bit ma wagę 2 3 = 8. Powinniśmy być w stanie stworzyć odpowiednią maskę poprzez deklarację: int TheMask = 8; Możemy również wykonać sekwencję instrukcji w zależności od stanu twojego bitu if(flagregister & TheMask) { /* mój bit jest ustawiony */ } else { /* mój bit jest resetowany */ }
12 3. Zresetowanie bitu - przypisujesz zero do bitu, podczas gdy wszystkie inne bity pozostają niezmienione; - użyjemy tej samej właściwości spójnika jak poprzednio, ale użyjemy nieco innej maski - tak jak poniżej: Zwróć uwagę, że maska została utworzona w wyniku negacji wszystkich bitów zmiennej TheMask. Resetowanie bitu jest proste i można wykonać na dwa sposoby (wybierz ten, który wolisz) 4. Ustawianie swojego bitu - przypisujesz "jeden" do swojego bitu, podczas gdy wszystkie inne bity pozostają niezmienione; użyjemy następującego operatora bitowego : x 1 = 1 x 0 = x Ustaw swój bit za pomocą jednej z następujących instrukcji
13 5. Negacji bitu - zamienisz "jeden" na "zero" i "zero" na "jeden". Użyj interesującej właściwości operatora xor: x ^ 1 =! x x ^ 0 = x Dokonaj negacji za pomocą następujących instrukcji 6. Przesuwanie bitu - ma zastosowanie tylko do wartości całkowitych i nie można go używać z argumentami typu float. UWAGA: Operacji tej używa się nieświadomie przez cały czas. Jak pomnożyć dowolną liczbę przez 10? Spójrz: = jak widzisz, pomnożenie przez dziesięć to tylko przesunięcie wszystkich cyfr w lewo i dodanie "0" w prawo. Jak podzielić przez 10? Spójrzmy: = wystarczy przesunąć cyfry w prawo. Komputer wykonuje ten sam rodzaj operacji z jedną różnicą: ponieważ 2 jest podstawą dla liczb binarnych (nie 10), przesunięcie wartości o jeden bit w lewo odpowiada pomnożeniu przez 2;
14 odpowiednio, przesunięcie jednego bitu w prawo jest jak dzielenie przez 2 (zauważ, że najbardziej prawy bit jest tracony). Przesunięcie bitów może być: logiczne, arytmetyczne, czy wszystkie bity zmiennej są przesunięte; tego rodzaju zmiana ma miejsce, gdy zastosujesz ją do liczb całkowitych bez znaku; jeśli przesunięcie pomija tak zwany bit znaku - w notacji uzupełnienia dwójkowego rolę bitu znaku pełni najwyższy bit zmiennej; jeśli jest równy "1", wartość jest traktowana jako wartość ujemna; oznacza to, że przesunięcie arytmetyczne nie może zmienić znaku przesuniętej wartości. Operatorami zmian w języku "C ++" jest para dwuznaków, << i >>, wyraźnie wskazująca kierunek, w którym będzie działać zmiana. Lewy argument tych operatorów jest wartością całkowitą, której bity są przesunięte. Właściwy argument określa rozmiar przesunięcia. Pokazuje to, że ta operacja z pewnością nie jest przemienna. Priorytet tych operatorów jest bardzo wysoki.
15 PRZYKŁAD Załóżmy, że istnieją następujące deklaracje: int Signed = -8, VarS; unsigned Unsigned = 6, VarU; spójrz na te zmiany /* równoważne dzieleniu przez 2 / > VarS == -4 */ VarS = Signed >> 1; / * odpowiednik mnożenia przez 4 -> VarS == -32 * / VarS = Signed << 2; /* odpowiednik dzielenia przez 4 > VarU == 1 */ VarU = Unsigned >> 2; /* odpowiednik mnożenia przez 2 > VarU == 12 */ VarU = Unsigned << 1; Możemy użyć obu operatorów za pomocą poniższego sposobu zapisu: Signed >>= 1; / * dzielenie przez 2 * / Unsigned <<= 1; / * mnożenie przez 2 * / Tabela priorytetów zawierająca wszystkie operatory
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.
Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1
Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne
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
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Arytmetyka 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
Języki i paradygmaty programowania
Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja
Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Podstawowe 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
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)
1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Operacje arytmetyczne
PODSTAWY TEORII UKŁADÓW CYFROWYCH Operacje arytmetyczne Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Dodawanie dwójkowe Opracował: Andrzej Nowak Ostatni wynik
Podstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
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,
ARYTMETYKA 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
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 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
Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach
Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda
Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41
Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października
Mikrooperacje. Mikrooperacje arytmetyczne
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej
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.
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
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
2 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
Język C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof
KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };
Typy pochodne. Referencje Referencja jest inną nazwą zmiennej. KURS C/C++ WYKŁAD 7 Referencje tworzymy przy pomocy unarnego operatora &: int a; int &refer = a; // referencja musi być inicjowana Powyższe
( 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
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
Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.
Logika binarna Logika binarna zajmuje się zmiennymi mogącymi przyjmować dwie wartości dyskretne oraz operacjami mającymi znaczenie logiczne. Dwie wartości jakie mogą te zmienne przyjmować noszą przy tym
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
Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
SYSTEMY 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
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
SYSTEMY 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
Podstawy programowania w C++
Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują
Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Różności w C++ Marek Pudełko
Różności w C++ Marek Pudełko Kodowanie i reprezentacja liczb 2 Kodowanie uzupełnieniowe U1 i U2 Bity liczby numerujemy od 0 do k 1 Bitom nr j, j < k 1 przyporządkowuje się wagi w j =2 j Najstarszej pozycji
B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:
Dodawanie dwójkowe Do wykonywania dodawania niezbędna jest znajomość tabliczki dodawania, czyli wyników sumowania każdej cyfry z każdą inną. W systemie binarnym mamy tylko dwie cyfry 0 i 1, zatem tabliczka
Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 1: Podstawy języka c dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 12 października 2017 1. Wprowadzenie Instrukcja zawiera informacje o podstawowych konstrukcjach w języku c. Część pierwsza
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem
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
Wstę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
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
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
while(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
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
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
ZADANIE 1. Rozwiązanie:
EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa
Systemy liczbowe używane w technice komputerowej
Systemy liczbowe używane w technice komputerowej Systemem liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach.
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
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
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Java Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
MATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
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
Samodzielnie 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,
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO Wybór schematu adresowania podsieci jest równoznaczny z wyborem podziału lokalnej części adresu
MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny)
MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny) SPOSÓB 1 (z rozszerzeniem mnożnika): Algorytm jak zwykle jest prosty: lewostronne rozszerzenie mnożnej o kilka cyfr (na pewno wystarczy
dr inż. Jarosław Forenc
Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu
Języki i metody programowania I
Języki i metody programowania I dr inż. Piotr Szwed Katedra Informatyki Stosowanej C2, pok. 403 e-mail: pszwed@agh.edu.pl http://home.agh.edu.pl/~pszwed/ Aktualizacja: 2013-01-11 7. Operatory Operatory
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
Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Arytmetyka 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
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
IX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
Tranzystor JFET i MOSFET zas. działania
Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej
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
Operacje arytmetyczne w systemie dwójkowym
Artykuł pobrano ze strony eioba.pl Operacje arytmetyczne w systemie dwójkowym Zasady arytmetyki w systemie binarnym są identyczne (prawie) jak w dobrze nam znanym systemie dziesiętnym. Zaletą arytmetyki
Podstawy programowania w C++
Podstawy programowania w C++ Zmienne typu znakowego Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował: Andrzej Nowak ASCII (American Standard Code for Information Interchange)
Logika Temporalna i Automaty Czasowe
Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny
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
Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.
Architektura komputerów ćwiczenia Zbiór zadań IV Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna. Wprowadzenie 1 1 fragmenty książki "Organizacja i architektura systemu
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
1 Wskaźniki. 1.1 Główne zastosowania wskaźników
1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować
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
Podstawy Informatyki dla Nauczyciela
Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 2 1 / 1 Informacja
Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );
Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Dobrą praktyką jest używanie wielkich liter jako nazw stałych. Nie jest
Logika Temporalna i Automaty Czasowe
Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.4 Treść wykładu NuSMV NuSMV symboliczny
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
System 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
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
Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki
Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych Instytut Automatyki i Robotyki Warszawa, 2015 Kody liczb całkowitych nieujemnych Kody liczbowe dzielimy na analityczne nieanalityczne (symboliczne)
Warunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1
Łukasz Przywarty 171018 Data utworzenia: 10.04.2010r. Prowadzący: dr inż. Marcin Markowski Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1 Temat: Zadanie domowe, rozdział 6 - Adresowanie sieci
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
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
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
Architektura komputerów. Asembler procesorów rodziny x86
Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych
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
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d