Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR Sayılar; insanların ilk çağlardan beri ihtiyaç duyduğu bir gereksinim olmuştur; sayılar teorisi de matematiğin en eski alanlarından birisidir. Sayılar teorisi, genel olarak, tam sayılar arasındaki ilişkileri inceleyip yeni yeni çıkarımlar üzerine yoğunlaşan, çıkarımları bilimin ve mühendisliğin birçok alanında kullanılan bir matematik koludur. Örneğin tümevarım ilkesi, asal sayılar, ortak bölenlerinin en büyüğü gibi Doğal olarak insanlar önceleri 1, 2, 3 gibi sayma sayılarına ihtiyaç duymuşlardır. Daha sonra kesirli sayılar, karmaşık sayılar gibi sayı türleri tanımlanmış ve günümüzde de bu sayı türlerinin bilgisayar gibi sayısal ortamlarda nasıl saklanacağı gündeme gelmiştir. En basitinden hepimiz biliyoruz ki 1 sayısı çarpma işleminde etkisiz elemandır; dolayısıyla her tamsayının 1 e bölünmesi yine bir kendisi olur. Buradan şu çıkarım yapılmıştır: Bir tamsayı kendisi ve 1 dışında diğer tamsayılara tam bölünemiyorsa bu sayı asal sayıdır, denilir. Şöyle ki, tamsayılarda bölme işlemi a =b. q + r şeklinde gösterilebilir; a bölünen, b bölen ve r de kalandır. Asal sayıların kendisine ve bire bölünmesinde kalan r = 0 olur. Asal sayılar bilimin ve
mühendisliğin birçok alanında kullanılır. Örneğin; günümüzde şifreleme teknikleri anahtar bulma işlemi asal sayılara dayalı çözülür. Ayrıca sayıların türleri ve bilgisayar veya benzeri sayısal ortamlarda saklanma şekilleri de önemli konulardan birisidir. SAYILAR VE SAYI KÜMELERİ Sayılar, nesnelerin doğada birden çok olmasından kaynaklanarak ortaya çıkmıştır. Öyle ya bir kümeye ait çokluğun sayısını veya sırasını belirtmek için ne kullanılabilirdi ki! Aslında soyut bir birim olan sayılar ve sayılar arasındaki ilişkiler, özellikle bilgisayar biliminin gelişmesinden sonra daha fazla önem kazanmıştır. Sayıları temsil etmek için günümüze kadar çok farklı rakamsal simgeler kullanılmış olsa da, günümüzde yaygın olarak 1, 2, 3 gibi rakamlar veya I, V, X gibi Romen rakamları kullanılmaktadır. Günümüz matematiğinde, sayılar belirli özellikler altında toplanarak gruplara ayrılmıştır; her biri küme tanımıyla ifade edilebilir. Doğal Sayılar Doğal sayılar yok olma durumundan başlayıp adım adım sonsuza kadar giden sayılar kümesidir. Doğal sayılar İngilizce karşılığının baş harfi N ile temsil edilerek; N = {0,1,2,3,4,5,6,7,8,9,10 } Şeklinde gösterilir. Sıfır ve artı pozitif tam sayılardan oluşur. Bazı matematikçiler sıfır sayısını doğal sayı olarak kabul etmiyorlar. Sayma Sayıları Sayma sayıları adı üzerinde bir çokluğun elemanlarına sıra numarası vermek ve temsil etmek için kullanılır. Doğal sayıların elemanı olan sıfır sayısı, nesnelerde bir varlığı temsil etmediği için sayma sayıları kümesinde yoktur. Sayma
sayıları kümesi N + ile temsil edilir. N + = {1,2,3,4,5,6,7,8,9,10 } Tam Sayılar Tam sayılar, doğal sayılara ek olarak eksi değerleri de içeren, yani eksi sonsuzdan artı sonsuza kadar giden sayılardır. Tam sayılar kümesi Z ile gösterilir. Z = { -5,-4,-3,-2,-1,0,1,2,3,4,5 } Tam sayılar, ayrıca artı tamsayılar ve eksi tamsayılar olarak ta alt kümelere ayrılır. Artı tam sayılar Z +, eksi tam sayılar da Z ile temsil edilirler. Sayma sayıları ile artı tamsayılar aynı küme elemanlarına sahiptir. Z + = {+1, +2, +3, +4, +5 } Z = { -5, -4, -3, -2, -1} Küme ifadelerinde görüldüğü gibi sıfır (0) sayısı ne eksi ne artı tamsayılar kümesine aittir. Sıfır bir geçiş noktasıdır; bir merkez noktadır, bir yokluğu ifade eden bir değerdir. Dolayısıyla tamsayılar kümesi eksi tamsayılar, sıfır ve eksi tamsayıların da birleşiminden oluşur. Z = Z {0} Z + = { -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 } Rasyonel ve İrrasyonel Sayılar Rasyonel sayılar kümesi bir çeşit kesirli sayılar kümesidir: Öyle ki a ve b birer tamsayı olmak üzere, rasyonel sayılar a / b (a bölü b) şeklinde gösterilir. Eğer bölme işlemi sonucunun ondalık gösterimi sonlu ise rasyonel sayı olarak adlandırılır.
Rasyonel sayılar Q ile temsil edilir. İrrasyonel sayılar da bölme işlemi sonucu kayıpsız gösterilemeyen sayılardır. Q = { a / b b 0 ^ a, b Z } 9/4 = 2,25 3/2 = 1,5 ve İrrasyonel sayılar kümesi Q ile temsil edilir ve bu sayılar da a / b şeklinde yazılabilir; ancak bölme işlemi sonucunun ondalık gösterimi sonlanmıyor ise veya kendi içerisinde periyodik tekrarlama içermiyorsa irrasyonel sayı denilir. Örneğin π(pi) sayısı veya sonucu bilinen en tipik irrasyonel sayıdır. İrrasyonel sayılar, eğer kısa ifade edilmek istemiyorsa şeklinde yaklaşık simgesiyle kullanılır; hassas hesaplamalar da ise doğrudan paylı paydalı a / b şeklindeki gösterimi kullanılır. Pi = 3,1415926 1/3 = 0,33333. Gerçel (Reel) Sayılar Gerçel sayılar, diğer bir değişle kesirli sayılar olarak adlandırılır; aslında rasyonel ve irrasyonel sayıların birleşiminden oluşur. Gerçel sayılar kümesi R ile gösterilmektedir. Gerçel sayılar kesirli yazıldığında tam kısmı ve kesirli kısmı olarak iki parçadan oluşur. Örneğin; 3/2 = 1,5 bir gerçel sayıdır; aynı zamanda bir rasyonel sayıdır. Π sayısı da gerçel bir sayıdır; fakat ayrıca irrasyonel bir sayıdır. Çünkü bölmenin sonucunda kesrin tamamı yazılamaz; bir yerde bırakılması gerekir. İkili Sayılar Rakamları 1 ve 0 dan oluşan sayılara ikili sayılar denilir; diğer bir değişle 2 tabanında yazılan sayılardır. Örneğin 1001 ve 0110 birer ikili sayısıdır. İkili sayılarda hane kavramı yerine bir sözcüğü kullanılır. Örneğin biraz önce verilen ikili sayılar 4 haneli, yani 4 bitlik sayılardır. Bilindiği
gibi sayılarda hane sayısının çokluğu daha büyük sayılar yazılabilmesini ifade eder. Dolayısıyla ikili sayılardan bahsedilirken kaç bitlik olduğu da söylenir ki, bir düzen içerisinde yazılmış olsun. Örneğin aşağıda 3 bitlik ve 2 bitlik ikili sayıların evrensel kümesi verilmiştir. E 3-bitlik = {000, 001, 010, 011, 100, 101, 110, 111} E 2-bitlik = {00, 01, 10, 11} Sekizli ve Onaltılık Tabanlı Sayılar Sekizli (octal) ve onaltılık (hexadecimal) tabanlı sayılar doğal sayıların sekiz veya onaltılık tabanda yazılmasıdır. Yani doğal sayılar tabanının farklı şekilde yazılmasıdır. Bilgisayar biliminde ve bilişim uygulamalarında zaman zaman kullanılır. Örneğin, Linux işletim sisteminde dosya ve klasörlere erişim hakkı sekizli tabanda verilir. Bunlara ait rakamlar kümesi aşağıda verilmiştir. R sekizli = {0, 1, 2, 3, 4, 5, 6, 7} R onaltılı = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Örneğin on tabanında 15 sayısına sekizli olarak 17, onaltılık olarak F, ikili sayı olarak 1111 karşılık düşer. Benzer şekilde on tabanında 16 sayısı sekizli olarak 20, onaltılık olarak 10, ikili olarak ta 10000 karşılığına sahiptir. 15 10 = 17 8 = F 16 = 1111 2 16 10 = 20 8 = 10 16 = 10000 2 Karmaşık Sayılar Karmaşık sayılar C ile gösterilir ve C = { x + yi x, y R ^ i 2 = -1 } şeklinde ifade edilir. Örneğin 3 + 2i, -1 + 5i, 4-3i, birer karmaşık(kompleks) sayıdır. Özellikle Fizik ve
Elektronik Mühendisliği nin dalga ve alan teorisi konularında çok kullanılır. İkili Sayıların Tümleyenini Alma İkili sayı sisteminde bir sayının tümleyenini almak o sayının 0 olan bitlerini 1, 1 olanları da 0 a çevirerek gerçekleştirilir (tersini veya değilini almak ta diyebiliriz). Sonuçta sayı ile o sayının tümleyeni toplandığında tüm bitlerin 1 olduğu durum elde edilir. Örn: Sayımız : (10110100)2 = (180)10 Tümleyeni : (01001011)2 = (75)10 Toplamları : (11111111)2 = (255)10 Bulduğumuz tümleyen «1 e göre tümleyen» olarak bilinir. Sayının tümleyenine 1 eklenmesi ise «2 ye göre tümleyen» olur. (01001100)2 = (76)10 Sayılar Arası Dönüşüm Alıştırma 1: On tabanında 33 doğal sayısının sekizli, onaltılı ve ikili karşılığını hesaplayınız. Bölünen Bölen Kalan Bölünen Bölen Kalan Bölünen Bölen Kalan 33 8 1 33 16 1 33 2 1 4 8 4 2 16 2 16 2 0
0 = (41) 8 0 = (21) 16 8 2 0 4 2 0 2 2 0 1 2 1 0 = (100001) 2 Alıştırma 2: (236) 7 ve (10010011) 2 sayılarını 10 tabanında yazınız. (236) 7 = 2.7 2 + 3.7 + 6.1 = 2.49 + 21 + 6 = 125 (10010011) 2 = 1.2 7 + 0.2 6 + 0.2 5 + 1.2 4 + 0.2 3 + 0.2 2 + 1.2 + 1 = 128 + 16 + 2 + 1 = 147 Alıştırma 3: (362) 7 sayısını 5 tabanına göre yazınız. Önce verilen sayıyı 10 tabanına çevirelim daha sonra istenen tabana bölüp bölüm tabandan küçük olana kadar devam edelim. Bulduğumuz değerleri en son işlemden başlayarak sağdan sola doğru yazalım. (362) 7 = 3.7 2 + 6.7 + 2 = 147 + 42 + 2 = 191 191; 1 ( mod 5 ), 38; 3 ( mod 5 ), 7; 2 ( mod 5 )
(En son mod almada bölümü de ekleyerek sondan başa doğru kalanları sıralayalım.) 191 = (1231) 5, (362) 7 = (1231) 5 Alıştırma 4: (245) 6 + (453) 6 toplamını hesaplayınız. 5 + 3 = 8 = 1.6 + 2 olduğundan birler basamağına 2 yazılır, elde 1 olur. 1 + 4 + 5 = 10 = 1.6 + 4 olduğundan 4 yazılır, elde 1 olur. 1 + 2 + 4 = 7 = 1.6 + 1 olduğundan 1 yazılır. Eldeki 1 de yanına (soluna) yazılır. (245) + (453) = (1142) 6 Alıştırma 5: (245) 7 (116) 7 işlemini hesaplayınız. 5 ten 6 çıkmaz. Yediler basamağından bir 7 alınıp 5 e eklenirse 12 bulunur. 12 6 = 6 dır. Birler basamağına 6 yazılır. Eksilende 4 yerinde 3 kalmıştır. 3 1 = 2 olduğundan 7 ler basamağına 2 yazılır. Son olarak 2 1 = 1 de yanına yazılır. (245) 7 (116) 7 = (126) 7 Alıştırma 6: (24) 5. (132) 5 işlemini yapınız.
4.2 = 8 = 1.5 + 3 olacağından birler basamağına 3 yazılır, elde 1 olur. 4.3 + 1 = 13 = 2.5 + 3 olduğundan ikinci basamağa 3 yazılır, elde 2 olur. 4.1 + 2 = 6 = 1.5 + 1 olacağından üçüncü basamağa 1, dördüncü basamağa eldeki 1 yazılır. 2 ile (132) 5 sayısı benzer biçimde çarpılıp ikinci satıra yazılır. Toplama işlemi yapılarak işlem tamamlanır. (24) 5. (132) 5 = 1133 + 314 = (4323) 5 Alıştırma 7: 123,5 sayısını 8 tabanına göre yazınız. 123 sayısının 8 tabanına göre yazılışı (173) 8 dir. Şimdi 0,5 sayısını 8 tabanına göre yazalım. 0,5 = 5 / 10 = 1 / 2 = 4 / 8 = (0,4) 8 Sonuç olarak verilen ondalıklı sayıyı iki ayrı sayı gibi işleme aldık bunun sonucunda da bulduğumuz değerleri toplarsak (173) 8 + (0,4) 8 = (173,4) 8 bulunur. Sayıların Bilgisayar Ortamında Saklanma Biçimleri Sayıların bilgisayar gibi sayısal ortamşarda saklanması için ilk zamanlardan beri tutulan çeşitli yollar vardır. En basiti, doğal olarak, tamsayıların iki tabanda sayıya dönüştürülüp saklanmasıdır. Çünkü sayısal ortamlar, 1 ve 0 lardan oluşan dizileri saklayabilmektedir. Örneğin 10 tabanında 17 10
sayısının karşılığı ikili tabanda 10001 dir. Tamsayılar Bir tamsayı, bilgisayar belleğinde doğal ikili taban, 2 ye tümleyen ve BCD olarak saklanabilmektedir. Doğal ikili taban: Doğal yöntemde, sayının doğrudan ikili tabandaki karşılığı saklanır. 2 ye tümleyen: 2 ye tümleme, ikili tabandaki bir sayının 1 lerini 0, 0 larını da 1 yapıp sonuca 1 eklenmesidir. BCD Kodlamalı: BCD(Binary Coded Decimal) kodlamada [0,9] arasındaki rakamlar 4 bitlik doğal ikili kod ile temsil edilir. Dolayısıyla bir tamsayı, her bir rakamına ait BCD kodun kullanılmasıyla elde edilir. Örneğin 123 sayısı 3 haneli BCD bir tamsayıdır ve 0001 0010 0011 olarak kodlanır. Rakam BCD Rakam BCD 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 Alıştırma 9: 39 10 sayısının doğal ikili karşılığı, 2 ye tümleyen karşılığını ve BCD karşılığını bulunuz. 39 sayısı 10 tabanından ikili tabana dönüştürülürse 100111 elde edilir. 100111 bit dizisinin tümleyeni alınırsa ( 1 ler 0, 0 lar 1
olur) 011000 elde edilir. BCD karşılığı verilen sayı 3 ve 9 a ait BCD kodlar olduğundan 0011 1001 şeklinde olur. Not: Negatifi sorulsaydı bulduğumuz 100111 sayısının önüne iki tane sıfır ekleyip, en solundaki rakamına da eksi yapabilmek için 1 ekleriz. -39 10 İşaretsiz Tamsayı: Sıfır sayısı ile beraber artı tamsayılar anlamına gelir ve doğal sayılar kümesine karşılık düşer. Z = { x x = 0, 1, 2, 3 } İşaretli Tamsayılar: Hem artı hem eksi değerli olabileceği anlamına gelir. Bu nedenle önünde işaret bilgisi olmalıdır. Z = { x x = -3, -2, -1, 0, 1, 2, 3 } Tamsayı Uzunluğu ve Boyu Tam sayı uzunluğu İşaretli Z İşaretsiz N 4 bit [0,15] [-8,+7] 8 bit [0,255] [-128,+127] 16 bit [0,65 535] [-32 768, +32 767] 32 bit [0,4 294 967 295] [-2 147 483 648, +2 147 483 647] 64 bit
[0,2 64-1] [-2 63, +2 63-1] IEEE 754 ve KAYAN NOKTALI SAYI FORMATI Kayan noktalı sayıların bit düzeyindeki veri yapısında, bit dizisindeki bitlerin bir kısmı üs, bir kısmı çarpan ve 1 tane de işaret biti kullanılır. Çarpan. Taban Üs IEEE 754 standartlarına göre 32-64 bitlik bir kayan noktalı sayının bit haritasını gösterelim: 23biti çarpan, 8biti üs ve 1 biti de işaret için kullanılır. 64bitte ise 52bit çarpan, 11 bit üs ve yine 1 bit de işaret biti olarak kullanılır. RSA Şifreleme Algoritması ve Çözümü Sayılar teorisi üzerine kurulmuş bir şifreleme algoritmasıdır. Asal sayılar, kalandaşlık ve modülo bölme işlemleri ile şifreleme işlemi kotarılır. 1. Önce gizli tutulacak iki adet asal sayı seçilir. Bunlar a 1 ve a 2 asal sayıları olsun. 2. Daha sonra n = a 1.a 2 hesaplanmasıyla modülo işleminde kullanılacak n sayısı belirlenir. 3. Bir tamsayısı (n) = (a 1-1).(a 2-1) şeklinde olsun. 4. Bu adımda ile ortak böleni olmayan bir e sayısı belirleyelim; yani obeb(= 1 yapacak bir sayısı. 5. e ile çarpılıp ye göre mod alındığında 1 kalanını veren bir d sayısı bulunur.
ÖZET Sayılar teorisi, genel olarak, tamsayılar arasındaki ilişkileri inceleyip yeni yeni çıkarımlar üzerine yoğunlaşan bir matematik dalıdır. Bölünebilme, kalandaşlık, Öklid algoritmasıyla obeb hesabı ve asal sayılar gibi birçok konu sayılar teorisi kapsamına girmektedir. Bilgisayar biliminde de yeri büyüktür. Asal sayılar günümüzde şifreleme tekniklerinde anahtar bulma işlemi dahil bilimin ve mühendisliğin birçok alanında kullanılır. Ayrıca bir tamsayıya bölündüğünde kalanları aynı olan sayılara da kalandaş denilir. Sayıların bilgisayar gibi sayısal ortamlarda saklanma şekilleri de önemli konulardan birisidir. Tamsayılar ikili sayılar şeklinde tutulurlar ve 2 ye tümleyen aritmetiği eksi tamsayıları ifade etmek için kullanılan bir yaklaşımdır. Tamsayıların işaretli veya işaretsiz olması ve kaç bit olduğu onun en küçük ve en büyük değerini belirler. Örneğin 8 bit ile işaretli tamsayıları -128 ile +127 arasında, işaretsiz ise 0 ile +255 arasında olur. Gerçel sayılar da IEEE nin belirlediği IEEE 745 standardına göre saklanırlar; gerçel sayının 332 bit veya 64 bit olmasına göre ifade edilebilecek sayı aralığı değişir. Yazar : Mustafa Cem ÖRS Kaynak : Bilişim Matematiği-Üniversite Yayıncılık.