Bilgisayar bilimi dersinde okul veya üniversite fark etmeksizin sayı sistemleri gibi bir kavrama özel bir yer verilir. Kural olarak, bunun için birkaç ders veya pratik alıştırmalar tahsis edilir. Asıl amaç sadece konunun temel kavramlarını öğrenmek değil, sayı sistemlerinin türlerini incelemek, aynı zamanda ikili, sekizli ve on altılı aritmetiği tanımaktır.
Bu ne anlama geliyor?
Temel kavramın tanımıyla başlayalım. Computer Science ders kitabının belirttiği gibi, bir sayı sistemi, özel bir alfabe veya belirli bir sayı kümesi kullanan bir sayı yazma sistemidir.
Bir basamağın değerinin sayı içindeki konumundan değişip değişmediğine bağlı olarak, ikisi ayırt edilir: konumsal ve konumsal olmayan sayı sistemleri.
Konumsal sistemlerde, bir basamağın değeri, sayıdaki konumuna göre değişir. Yani, 234 sayısını alırsak, içindeki 4 sayısı birimler anlamına gelir, ancak 243 sayısını dikkate alırsak, o zaman burada zaten birim değil onlarca anlamına gelir.
Konumsal olmayan sistemlerdebir basamağın değeri, sayıdaki konumundan bağımsız olarak statiktir. En çarpıcı örnek, her birimin bir tire ile gösterildiği çubuk sistemidir. Asayı nereye atadığınız önemli değil, sayının değeri sadece bir değişecek.
Konumsal Olmayan Sistemler
Konumsal olmayan sayı sistemleri şunları içerir:
- İlklerden biri olarak kabul edilen tek bir sistem. Sayılar yerine çubuklar kullandı. Ne kadar çok varsa, sayının değeri o kadar büyüktü. Denizde kaybolan insanlardan, bir taşa veya ağaca çentikler yardımıyla her günü işaretleyen mahkumlardan bahsettiğimiz filmlerde bu şekilde yazılmış sayıların bir örneğine rastlayabilirsiniz.
- Roman, sayılar yerine Latin harflerinin kullanıldığı. Bunları kullanarak herhangi bir sayı yazabilirsiniz. Aynı zamanda, sayıyı oluşturan rakamların toplamı ve farkı kullanılarak değeri belirlendi. Basamağın solunda daha küçük bir sayı varsa, soldaki sayı sağdan çıkarılır ve sağdaki sayı, soldakinden küçük veya ona eşitse değerleri toplanırdı. yukarı. Örneğin, 11 sayısı XI ve 9 sayısı IX olarak yazılmıştır.
- Alfabetik, sayıların belirli bir dilin alfabesi kullanılarak gösterildiği. Bunlardan biri, bir dizi harfin sadece fonetik değil, aynı zamanda sayısal değere sahip olduğu Slav sistemidir.
- Yazmak için yalnızca iki sembol kullanan Babil sayı sistemi - kamalar ve oklar.
- Mısır ayrıca sayıları temsil etmek için özel karakterler kullandı. Bir sayı yazarken, her karakter en fazla dokuz kez kullanılabilir.
Konumsal sistemler
Bilgisayar biliminde konumsal sayı sistemlerine çok dikkat edilir. Bunlar şunları içerir:
- ikili;
- sekizlik;
- ondalık;
- on altılık;
- on altılık, zamanı sayarken kullanılır (örneğin, bir dakika - 60 saniye, bir saat - 60 dakika).
Her birinin yazma, çeviri kuralları ve aritmetik işlemler için kendi alfabesi vardır.
Ondalık sistem
Bu sistem bize en tanıdık gelen sistemdir. Sayıları yazmak için 0'dan 9'a kadar olan sayıları kullanır. Arapça da denir. Sayıdaki basamağın konumuna bağlı olarak, farklı basamakları gösterebilir - birimler, onluklar, yüzler, binler veya milyonlarca. Her yerde kullanıyoruz, sayılar üzerinde aritmetik işlemlerin yapıldığı temel kuralları biliyoruz.
İkili sistem
Bilgisayar bilimindeki ana sayı sistemlerinden biri ikili sistemdir. Basitliği, bilgisayarın hantal hesaplamaları ondalık sisteme göre birkaç kat daha hızlı gerçekleştirmesini sağlar.
Sayı yazmak için sadece iki basamak kullanılır - 0 ve 1. Aynı anda, sayıdaki 0 veya 1'in konumuna bağlı olarak değeri değişir.
Başlangıçta, bilgisayarlar gerekli tüm bilgileri ikili kod yardımıyla aldı. Aynı zamanda, biri voltaj kullanılarak iletilen bir sinyalin varlığı, sıfır ise yokluğu anlamına geliyordu.
Sekizliksistem
0'dan 7'ye kadar olan sayıların kullanıldığı bir başka iyi bilinen bilgisayar sayı sistemi. Esas olarak dijital cihazlarla ilgili bilgi alanlarında kullanılıyordu. Ancak son zamanlarda, on altılık sayı sistemi ile değiştirildiği için çok daha az kullanıldı.
BCD
Bir kişi için ikili sistemde büyük sayıların temsili oldukça karmaşık bir süreçtir. Basitleştirmek için bir ikili ondalık sayı sistemi geliştirildi. Genellikle elektronik saatlerde, hesap makinelerinde kullanılır. Bu sistemde, tam sayı ondalık sistemden ikili sayıya dönüştürülmez, ancak her basamak ikili sistemde karşılık gelen sıfırlar ve birler grubuna çevrilir. Aynı şey ikiliden ondalığa dönüştürmek için de geçerlidir. Dört basamaklı bir sıfır ve bir kümesi olarak temsil edilen her basamak, ondalık sayı sisteminde bir basamağa çevrilir. Prensipte karmaşık bir şey yoktur.
Sayılarla çalışmak için, bu durumda, sayılar ve ikili kodları arasındaki yazışmayı gösterecek olan bir sayı sistemleri tablosu yararlıdır.
On altılık
Son zamanlarda, on altılık sayı sistemi programlama ve bilgisayar bilimlerinde giderek daha popüler hale geldi. Yalnızca 0'dan 9'a kadar sayıları değil, aynı zamanda bir dizi Latin harfini de kullanır - A, B, C, D, E, F.
Aynı zamanda, harflerin her birinin kendi anlamı vardır, bu nedenle A=10, B=11, C=12 vb. Her sayı dört karakterlik bir set olarak temsil edilir:001F.
Sayı dönüştürme: ondalıktan ikiliye
Sayı sistemlerinde çeviri belirli kurallara göre gerçekleşir. İkiliden ondalık sayıya ve tam tersine en yaygın dönüştürme.
Bir sayıyı ondalık sayıdan ikili sayıya dönüştürmek için, sayı sisteminin tabanına, yani iki sayısına tutarlı bir şekilde bölmek gerekir. Bu durumda, her bölümün geri kalanı sabitlenmelidir. Bu, bölmenin geri kalanı bire eşit veya küçük olana kadar devam eder. Hesaplamaları bir sütunda yapmak en iyisidir. Daha sonra bölmeden alınan kalanlar dizgeye ters sırada yazılır.
Örneğin, 9 sayısını ikiliye çevirelim:
9'u bölüyoruz, sayı eşit olarak bölünemediği için 8 sayısını alıyoruz, kalan 9 - 1=1 olacak.
8'i 2'ye böldükten sonra 4 elde ederiz. Sayı eşit olarak bölünebildiği için tekrar bölün - kalan 4 - 4=0.
Aynı işlemi 2 ile gerçekleştirin. Kalan 0.
Bölme işleminin sonucunda 1 elde ederiz.
Ardından, aldığımız tüm bakiyeleri bölme toplamından başlayarak ters sırayla yazıyoruz: 1001.
Son sayı sisteminden bağımsız olarak, sayıların ondalık sayıdan herhangi birine dönüştürülmesi, sayının konumsal sistem bazında bölünmesi ilkesine göre gerçekleşir.
Sayıları çevir: ikiliden ondalığa
Sayıları ikiliden ondalık sayıya dönüştürmek oldukça kolaydır. Bunu yapmak için sayıları bir güce yükseltme kurallarını bilmek yeterlidir. Bundadurumda, ikiye katlayın.
Çeviri algoritması şu şekildedir: ikili sayı kodundaki her basamak iki ile çarpılmalıdır ve ilk ikisi m-1, ikincisi - m-2 vb. m, koddaki basamak sayısıdır. Ardından, bir tamsayı alarak toplamanın sonuçlarını ekleyin.
Okul çocukları için bu algoritma daha basit bir şekilde açıklanabilir:
Başlamak için, her bir basamağı iki ile çarparak alıp yazıyoruz, sonra sıfırdan başlayarak ikinin kuvvetini sıfırdan yazıyoruz. Ardından ortaya çıkan sayıyı ekleyin.
Örneğin, daha önce elde edilen 1001 sayısını ondalık sisteme çevirerek bir göz atalım ve aynı zamanda hesaplamalarımızın doğruluğunu kontrol edelim.
Şu şekilde görünecek:
123 + 022+021+ 120=8+0+0+1=9.
Bu konuyu incelerken, iki katı olan bir tablo kullanmak uygundur. Bu, hesaplamaları tamamlamak için gereken süreyi büyük ölçüde az altacaktır.
Diğer çeviriler
Bazı durumlarda, ikili ve sekizli, ikili ve on altılı arasında çeviri yapılabilir. Bu durumda Görünüm sekmesinde “Programcı” seçeneğini seçerek özel tablolar kullanabilir veya bilgisayarınızda hesap makinesi uygulamasını çalıştırabilirsiniz.
Aritmetik işlemler
Bir sayının sunulduğu formdan bağımsız olarak, onunla olağan hesaplamaları yapmak mümkündür. Bu sayı sisteminde bölme ve çarpma, çıkarma ve toplama olabilir,hangisini seçtin. Elbette her birinin kendine has kuralları var.
Yani ikili sistem için her bir işlem için kendi tablolarını geliştirdi. Aynı tablolar diğer konumsal sistemlerde de kullanılır.
Ezberlemek zorunda değilsiniz - sadece yazdırın ve elinizin altında bulundurun. Hesap makinesini PC'nizde de kullanabilirsiniz.
Bilgisayar bilimindeki en önemli konulardan biri sayı sistemidir. Bu konuyu bilmek, sayıları bir sistemden diğerine aktarmak için kullanılan algoritmaları anlamak, algoritmalaştırma ve programlama gibi daha karmaşık konuları anlayabileceğinizin ve ilk programınızı kendiniz yazabileceğinizin garantisidir.