MADE IN CHINA czyli SYSTEM RESZTOWY

Podobne dokumenty
Przykładowe zadania z teorii liczb

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Kongruencje oraz przykłady ich zastosowań

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

Kongruencje i ich zastosowania

Wybrane zagadnienia teorii liczb

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Matematyka dyskretna

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Matematyka dyskretna

Algorytmy i struktury danych. Wykład 4

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca.

1259 (10) = 1 * * * * 100 = 1 * * * *1

1. Wykład NWD, NWW i algorytm Euklidesa.

Algorytm Euklidesa. ZADANIE 1. Oblicz korzystając z algorytmu Euklidesa: (a) NWD(120, 195), (b) NWD(80, 208), (c) NWD(36, 60, 90),

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Kod U2 Opracował: Andrzej Nowak

Zadania do samodzielnego rozwiązania

Pierwiastki pierwotne, logarytmy dyskretne

Luty 2001 Algorytmy (7) 2000/2001

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Kongruencje pierwsze kroki

Liczby całkowite. Zadania do pierwszych dwóch lekcji

Kongruencje. Sławomir Cynk. 24 września Nowy Sącz. Instytut Matematyki Uniwersytetu Jagiellońskiego

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

SYSTEMY LICZBOWE 275,538 =

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

1.1. Pozycyjne systemy liczbowe

Jednoznaczność dzielenia. Jednoznaczność dzielenia

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Systemy liczbowe używane w technice komputerowej

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny)

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 6a

Systemy zapisu liczb.

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Jeśli lubisz matematykę

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

Teoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych

Algorytmy w teorii liczb

KONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności.

Grupy, pierścienie i ciała

Jarosław Wróblewski Matematyka Elementarna, zima 2015/16

WYRAŻENIA ALGEBRAICZNE

Matematyka dyskretna

Liczby zespolone. x + 2 = 0.

Klasa 6. Liczby dodatnie i liczby ujemne

LISTA 1 ZADANIE 1 a) 41 x =5 podnosimy obustronnie do kwadratu i otrzymujemy: 41 x =5 x 5 x przechodzimy na system dziesiętny: 4x 1 1=25 4x =24

PRZELICZANIE JEDNOSTEK MIAR

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozdział 1. Zadania. 1.1 Liczby pierwsze. 1. Wykorzystując sito Eratostenesa wyznaczyć wszystkie liczby pierwsze mniejsze niż 200.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

LICZBY POWTÓRKA I (0, 2) 10 II (2, 5) 5 III 25 IV Liczba (0, 4) 5 jest równa liczbom A) I i III B) II i IV C) II i III D) I i II E) III i IV

Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

Jarosław Wróblewski Matematyka Elementarna, lato 2014/15

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ciała skończone. 1. Ciała: podstawy

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Wstęp do Informatyki

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

Liczby pierwsze na straży tajemnic

System Liczbowe. Szesnastkowy ( heksadecymalny)

Wprowadzenie do informatyki - ć wiczenia

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Dodawanie ułamków i liczb mieszanych o różnych mianownikach

...o. 2. ZARYS ORGANIZACJI MASZYNY TYPOWEJ

Sumy kwadratów kolejnych liczb naturalnych

Matematyka Dyskretna Zestaw 2

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Kongruencje twierdzenie Wilsona

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

... (środowisko) minut

Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Daniela Spurtacz, klasa 8W, rok szkolny 2018/2019

Tajemnice liczb pierwszych i tych drugich

Czas pracy: 60 minut

Kierunek i poziom studiów: Sylabus modułu: Wstęp do algebry i teorii liczb (03-M01N-WATL) Nazwa wariantu modułu (opcjonalnie): -

Joanna Kluczenko 1. Spotkania z matematyka

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Wstęp do informatyki- wykład 1 Systemy liczbowe

Transkrypt:

MADE IN CHINA czyli SYSTEM RESZTOWY System ten oznaczmy skrótem RNS (residue number system czyli po prostu resztowy system liczbowy). Wartość liczby w tym systemie reprezentuje wektor (zbiór) reszt z dzielenia tej liczby przez pewne ustalone liczby naturalne. W systemie RNS (na szczęście) nie ma liczb ujemnych :) Parę rzeczy, które trzeba wiedzieć: Liczby względnie pierwsze to takie, których największy wspólny dzielnik (NWD) jest równy 1, żeby reprezentacja danej liczby w systemie RNS była jednoznaczna, moduły muszą być wzajemnie względnie pierwsze, liczba w RNS składa się ze zbioru argumentów (modułów) i zbioru reszt z dzielenia wartości tej liczby przez moduły, np: X (2,3,5) = <1,2,4> moduły reszty z dzielenia X mod Y oznacza resztę z dzielenia X przez Y. ARYTMETYKA RESZTOWA Tych kilka chwytów znacząco ułatwia liczenie reszty z dzielenia dużej liczby więc warto je zrozumieć: X Y X Y X Y mod Z = X mod Z Y mod Z mod Z mod Z = X mod Z Y mod Z mod Z mod Z = X mod Z Y mod Z mod Z Należy również pamiętać, że reszta może zawsze być dodatnia lub ujemna, więc: 13 mod 4 = 1 (3*4 + 1) i 13 mod 4 = -3 (4*4 3) Różnicą pomiędzy dodatnią resztą i ujemną jest zawsze liczba przez którą dzielimy (w tym przypadku -3-1 =4). SZYBKIE OBLICZANIE RESZT To, czy algorytm przedstawiony poniżej zadziała uzależnione jest od liczby, przez którą dzielimy modulo. Musi ona być potęgą podstawy do której dodano 1 lub odjęto 1. Jeśli tak jest, musimy określić wspomnianą potęgę i podzielić liczbę dzieloną modulo na części składające się z tylu cyfr, jaka jest potęga podstawy. Kila przykładów dla lepszego zrozumienia: jeśli dzielimy modulo przez 101 10 (101 10=10 2 +1) to liczbę podzielimy na części po dwie cyfry, jeśli dzielimy modulo przez 99 10 (99 10=10 2-1) to zrobimy tak samo, jeśli dzielimy modulo przez 10001 10 (10001 10=10 5 +1) to liczbę podzielimy na części po 5 cyfr, jeśli dzielimy modulo przez 88 9 (88 9=9 2-1) to liczbę podzielimy na części po 2 cyfry. Teraz musimy stwierdzić czy jedynkę dodano czy odjęto: jeśli jedynkę ODJĘTO, należy DODAWAĆ kolejne części liczby dzielonej, jeśli jedynkę DODANO, należy NA PRZEMIAN ODEJMOWAĆ I DODAWAĆ kolejne części liczby dzielonej, zaczynając od PRAWEJ, Liczba otrzymana po dodawaniu/odejmowaniu będzie znacznie mniejsza niż początkowa więc o wiele łatwiej będzie wykonać dzielenie modulo. Przykład 0.1: 1234567890 mod 99 10 99=10 2-1 (więc rozdzielamy po 2 cyfry) 12 34 56 78 90 mod 99 10 = (90 + 78 + 56 + 34 + 12) mod 99 = 270 mod 99 = 72 Przykład 0.2: 1234567890 mod 101 10 101=10 2 +1 (więc rozdzielamy po 2 cyfry) 12 34 56 78 90 mod 101 10 = (90-78 + 56-34 + 12) mod 101 = 46 mod 101 = 46 Przykład 0.3: 1011 0011 0111 1101 2 mod 1111 2 1111 2= 2 4-1 1

1011 0011 0111 1101 mod 1111 = ( 1101 + 0111 + 0011 + 1011 ) mod 1111 = ( 13 10 + 7 10 + 3 10 + 11 10 ) mod 15 = = 34 10 mod 15 10 = 4 10 = 0100 2 Przykład 0.4: 1011 0011 0111 1101 2 mod 10001 2 1111 2= 2 4 +1 1011 0011 0111 1101 mod 10001 = ( 1101-0111 + 0011-1011 ) mod 10001 = (13 10 7 10 + 3 10 11 10) mod 17 10 = -2 10 mod 17 10 = 15 10 = 1111 2 KONWERSJA Z SYSTEMU NATURALNEGO NA RNS Tyle teorii na wstęp, teraz praktyka. Najważniejsze co trzeba wiedzieć to jak wykonać konwersję liczb RNS na liczby naturalne i odwrotnie. Pierwsza z tych czynności jest prostsza więc od niej zaczniemy. Oczywiście najprościej wyjaśnić to na przykładach: Przykład 1.1: X=1234 10 - liczba w systemie stałobazowym RNS(15,16,17) - wektor (zbiór) modułów Aby otrzymać liczbę w systemie RNS(15,16,17) musimy dzielić ją modulo (wyciągać reszty z dzielenia) przez 15, 16, 17 (czyli moduły): 1234 mod 15 = 4 1234 mod 16 = 2 1234 mod 17 = 10 Wynika z tego, że: 1234 10=<4,2,10> (15,16,17) Przykład 1.2: X=4321 10 - liczba w systemie stałobazowym RNS(5, 7, 9) - wektor (zbiór) modułów 4321 mod 5 = 1 4321 mod 7 = 2 4321 mod 9 = 1 4321 10=<1,2,1> (5,7,9) Przykład 1.3: X=19 10 RNS(3,7,8) 19 10 = <19 mod 3, 19 mod 7, 19 mod 8> (3,7,8) = <1, 5, 3> (3,7,8) KONWERSJA Z SYSTEMU RNS NA NATURALNY Bardziej skomplikowany jest algorytm zamiany liczby w odwrotną stronę z systemu RNS na system naturalny. m i (m z daszkiem :)) jest iloczynem wszystkich modułów, poza m i Rozważmy to na najpierw na symbolach ogólnych: RNS(m 1, m 2, m 3) X=<x 1, x 2, x 3> m 1 =m 2 m 3 m 2 =m 1 m 3 2

m 3 =m 1 m 2 Naszym zadaniem jest teraz znalezienie takich liczb k 1, k 2 i k 3, NATURALNE że: k 1 m 1 mod m 1 =1, czyli z powyższego k 1 m 2 m 3 mod m 1 =1 k 2 m 2 mod m 2 =1, czyli z powyższego k 2 m 1 m 3 mod m 2 =1 k 3 m 3 mod m 3 =1, czyli z powyższego k 3 m 1 m 2 mod m 3 =1 Jeśli znajdziemy liczby k 1, k 2 i k 3, wartość liczby X w systemie naturalnym otrzymamy po wyliczeniu: X ={k 1 x 1 m 1 k 2 x 2 m 2 k 3 x 3 m 3 } mod m 1 m 2 m 3 Przykład 2.1: RNS=(15,16,17) X=<2,2,3> m 1 = 15 m 1 =m 2 m 3 =16 17 =272 m 2 = 16 m 2 =m 1 m 3 =15 17 =255 m 3 = 17 m 3 =m 1 m 2 =15 16 =240 musimy znaleźć k 1, k 2 i k 3: k 1 m 1 mod m 1 =1, czyli k 1 16 17 mod 15 = 1 korzystając z praw arytmetyki reszt możemy to zapisać: k 1 16 mod 15 17 mod 15 mod 15 = 1 k 1 1 2 mod 15 = 1 2 k 1 mod 15 = 1 k 1 =8 k 2 m 2 mod m 2 =1, czyli k 2 15 17 mod 16 = 1 k 2 15 mod 16 17 mod 16 mod 16 = 1 k 2 1 1 mod 16 = 1 1 k 2 mod 16 = 1 k 2 = 1 k 3 m 3 mod m 3 =1, czyli k 3 15 16 mod 17 = 1 k 3 15 mod 17 16 mod 17 mod 17 = 1 k 3 2 1 mod 17 = 1 2 k 3 mod 17 = 1 k 3 =9 X ={ 8 2 272 1 2 255 9 3 240 } mod 15 16 17 = { 4352 510 6480 } mod 4080 = = 10322 mod 4080 = 2162 Wartością <2,2,3> w RNS=(15,16,17) jest 2162 w systemie naturalnym. Przykład 2.2 RNS(3,4,5) X=<1,2,3> m 1 =m 2 m 3 =4 5 =20 m 2 =m 1 m 3 =3 5 =15 m 3 =m 1 m 2 =3 4 =12 musimy znaleźć k 1, k 2 i k 3: k 1 m 1 mod m 1 =1, czyli k 1 4 5 mod 3 = 1 3

korzystając z praw arytmetyki reszt możemy to zapisać: k 1 4 mod 3 5 mod 3 mod 3 = 1 k 1 1 2 mod 3 = 1 2 k 1 mod 3 = 1 k 1 =2 k 2 m 2 mod m 2 =1, czyli k 2 3 5 mod 4 = 1 k 2 3 mod 4 5 mod 4 mod 4 = 1 k 2 1 1 mod 4 = 1 1 k 2 mod 4 = 1 k 2 = 1 k 3 m 3 mod m 3 =1, czyli k 3 3 4 mod 5 = 1 k 3 3 mod 5 4 mod 5 mod 5 = 1 k 3 2 1 mod 5 = 1 2 k 3 mod 5 = 1 k 3 =3 X ={ 2 1 20 1 2 15 3 3 12 } mod 3 4 5 = { 40 30 108 } mod 60 = = 118 mod 60 = 58 Wartością <1,2,3> w RNS=(3,4,5) jest 58 w systemie naturalnym. 4

Najpierw trochę teorii... MAŁE TWIERDZENIE FERMATA OBLICZANIE RESZT Z DZIELENIA LICZB W DUŻYCH POTĘGACH Niech p będzie liczbą pierwszą. Jeśli p jest względnie pierwsze z a to zachodzi równość: a p 1 mod p = 1 FUNKCJA EULERA φ(n) Jeśli podzielnikami liczby N są liczby pierwsze p 1, p 2... p m to liczb naturalnych mniejszych od N i względnie pierwszych z N jest: m e N = p i 1 p i 1 i i=1 Krótko - φ(n) oznacza ilość liczb mniejszych od N względnie pierwszych z N. Do obliczania φ(n) przydatne są poniższe fakty: 1. Jeśli a i b są względnie pierwsze to φ(a b)=φ(a) φ(b) 2. Jeśli p jest liczbą pierwszą to φ (p k )=p k - p k-1 TWIERDZENIE EULERA Jest jakby rozszerzeniem małego twierdzenia fermata. Mówi ono, że jeśli m i a są względnie pierwsze to zachodzi równość: a m mod m=1 Ważny fakt wynikający z twierdzenia Eulera oraz własności kongruencji: a b mod c = a mod c b mod c mod c No i teraz ulubione przykłady... Przykład 3.1 Obliczyć 17 2167 mod 19 φ(19)=18 17 2167 mod 19 = 17 2167 mod 18 mod 19 = 17 7 mod 19 = (-2) 7 mod 19 = -128 mod 19 = -14 = 5 Przykład 3.2 Obliczyć 64 124 mod 33 33 = 3 11 = 2 10 = 20 64 124 mod 33 = (64 mod 33) 124 mod 20 mod 33 = (-2) 4 mod 33 = 16 Przykład 3.3 Obliczyć 45 122 mod 11 φ(11)=10 45 122 mod 11 = (45 mod 11) 122 mod 10 mod 11 = 1 2 mod 11 = 1 5