İkili kodda kodlayın. İkili kod - nerede ve nasıl uygulanır

  • 12.07.2019

Metin yazmak için kullanılan semboller kümesine ne ad verilir? alfabetik olarak.

Alfabedeki karakter sayısı ise güç.

Bilgi miktarını belirleme formülü: N = 2b,

N, alfabenin kardinalitesidir (sembol sayısı),

b bit sayısıdır (sembolün bilgi ağırlığı).

Hemen hemen tüm gerekli karakterler 256 karakter kapasiteli bir alfabeye yerleştirilebilir. Bu alfabe denir yeterli.

Çünkü 256 = 2 8 , o zaman 1 karakterin ağırlığı 8 bittir.

8 bitlik ölçü birimine bir isim verildi 1 bayt:

1 bayt = 8 bit.

Bilgisayar metnindeki her karakterin ikili kodu 1 bayt bellek kaplar.

Metinsel bilgiler bilgisayar belleğinde nasıl temsil edilir?

Bayt bayt karakter kodlamasının rahatlığı açıktır, çünkü bir bayt belleğin adreslenebilir en küçük kısmıdır ve bu nedenle işlemci metin işleme yaparken her karaktere ayrı ayrı erişebilir. Öte yandan, çok çeşitli karakter bilgilerini temsil etmek için 256 karakter yeterlidir.

Şimdi, her bir karaktere karşılık gelen sekiz bitlik ikili kodun hangisi olacağı sorusu ortaya çıkıyor.

Bunun şartlı bir mesele olduğu açıktır, kodlamanın birçok yolunu bulabilirsiniz.

Bilgisayar alfabesinin tüm sembolleri 0'dan 255'e kadar numaralandırılmıştır. Her sayı, 00000000'den 11111111'e kadar sekiz bitlik bir ikili koda karşılık gelir. Bu kod, ikili sayı sistemindeki karakterin basitçe sıra numarasıdır.

Bilgisayar alfabesinin tüm karakterlerine seri numaraları atanan tabloya kodlama tablosu denir.

Farklı bilgisayar türleri için farklı kodlama tabloları kullanılır.

Tablo, PC'ler için uluslararası standart haline geldi. ASCII(telaffuz edilen asci) (Bilgi Değişimi için Amerikan Standart Kodu).

ASCII kod tablosu iki bölüme ayrılmıştır.

Tablonun sadece ilk yarısı uluslararası bir standarttır, yani. gelen sayılarla karakterler 0 (00000000), kadar 127 (01111111).

ASCII kodlama tablosunun yapısı

Seri numarası

kod

Sembol

0 - 31

00000000 - 00011111

0'dan 31'e kadar sayılara sahip karakterlere kontrol karakterleri denir.
İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. sürecini kontrol etmektir.

32 - 127

00100000 - 01111111

Tablonun standart kısmı (İngilizce). Buna Latin alfabesinin küçük ve büyük harfleri, ondalık rakamlar, noktalama işaretleri, her türlü parantez, ticari ve diğer semboller dahildir.
Karakter 32 bir boşluktur, yani. metinde boş pozisyon.
Geri kalan her şey belirli işaretlerle yansıtılır.

128 - 255

10000000 - 11111111

Tablonun alternatif kısmı (Rusça).
ASCII kod tablosunun kod sayfası olarak adlandırılan ikinci yarısı (128 kod, 10000000 ile başlayan ve 11111111 ile biten) farklı seçeneklere sahip olabilir, her seçeneğin kendi numarası vardır.
Kod sayfası öncelikle Latince dışındaki ulusal komut dosyalarını barındırmak için kullanılır. Rus ulusal kodlamalarında, Rus alfabesinin karakterleri tablonun bu bölümüne yerleştirilir.

ASCII kod tablosunun ilk yarısı


Kodlama tablosunda harflerin (büyük ve küçük harf) alfabetik sıraya göre düzenlendiğine ve sayıların artan değerlere göre sıralandığına dikkatinizi çekerim. Karakterlerin düzenlenmesinde sözlük sırasının bu gözetilmesi, alfabenin sıralı kodlama ilkesi olarak adlandırılır.

Rus alfabesinin harfleri için sıralı kodlama ilkesi de gözlenir.

ASCII kod tablosunun ikinci yarısı


Maalesef şu anda beş farklı Kiril kodlaması var (KOI8-R, Windows. MS-DOS, Macintosh ve ISO). Bu nedenle, genellikle Rusça metnin bir bilgisayardan diğerine, bir yazılım sisteminden diğerine aktarılmasıyla ilgili sorunlar ortaya çıkar.

Kronolojik olarak, bilgisayarlarda Rusça harfleri kodlamak için ilk standartlardan biri KOI8 ("Bilgi Değişim Kodu, 8-bit") idi. Bu kodlama, 70'lerde EC serisi bilgisayarların bilgisayarlarında kullanıldı ve 80'lerin ortalarından itibaren UNIX işletim sisteminin ilk Ruslaştırılmış sürümlerinde kullanılmaya başlandı.

MS DOS işletim sisteminin egemen olduğu 90'ların başından itibaren, kodlama CP866 olarak kalır ("CP", "Kod Sayfası", "kod sayfası" anlamına gelir).

Mac OS işletim sistemini çalıştıran Apple bilgisayarlar, kendi Mac kodlamalarını kullanır.

Ayrıca Uluslararası Standardizasyon Örgütü (Uluslararası Standartlar Örgütü, ISO), Rusça dili için standart olarak ISO 8859-5 adlı başka bir kodlamayı onayladı.

Şu anda kullanılan en yaygın kodlama, CP1251 olarak kısaltılan Microsoft Windows'tur.

90'ların sonundan bu yana, karakter kodlamasının standardizasyonu sorunu, yeni bir uluslararası standardın getirilmesiyle çözüldü. tek kod. Bu 16 bitlik bir kodlamadır, yani. karakter başına 2 bayt belleğe sahiptir. Tabii ki, bu durumda, işgal edilen bellek miktarı 2 kat artar. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz özellikleri, dünyadaki tüm mevcut, nesli tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.

Kelimelerin bilgisayarın belleğinde nasıl görüneceğini hayal etmek için bir ASCII tablosu kullanmayı deneyelim.

Bilgisayar belleğindeki kelimelerin dahili temsili

Bazen, başka bir bilgisayardan alınan Rus alfabesinin harflerinden oluşan metnin okunamadığı olur - monitör ekranında bir tür "abrakadabra" görünür. Bunun nedeni, bilgisayarların Rus dilinin farklı karakter kodlamalarını kullanmasıdır.

Sonuç zaten alındı!

Sayı sistemleri

Konumsal ve konumsal olmayan sayı sistemleri vardır. Günlük hayatta kullandığımız Arap sayı sistemi konumsaldır, Romalı ise değildir. Konumsal sayı sistemlerinde, bir sayının konumu, sayının büyüklüğünü benzersiz bir şekilde belirler. Bunu, ondalık sayı sistemindeki 6372 sayısı örneğini kullanarak düşünün. Bu sayıyı sıfırdan başlayarak sağdan sola doğru numaralandıralım:

Daha sonra 6372 sayısı aşağıdaki gibi temsil edilebilir:

6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .

10 sayısı sayı sistemini tanımlar (bu durumda 10'dur). Verilen sayının konumunun değerleri derece olarak alınır.

Gerçek ondalık sayı 1287.923'ü düşünün. Sayının sıfır konumundan başlayarak ondalık noktadan başlayarak sola ve sağa doğru numaralandırıyoruz:

Daha sonra 1287.923 sayısı şu şekilde temsil edilebilir:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1 10 3 +2 10 2 +8 10 1 +7 10 0 +9 10 -1 +2 10 -2 +3 10 -3 .

Genel olarak, formül aşağıdaki gibi temsil edilebilir:

C n s n + C n-1 s n-1 +...+C 1 s 1 + C 0 s 0 + D -1 s -1 + D -2 s -2 + ... + D -k s -k

burada C n konumunda bir tam sayıdır n, D -k - (-k) konumundaki kesirli sayı, s- sayı sistemi.

Sayı sistemleri hakkında birkaç söz: Ondalık sayı sisteminde bir sayı, bir dizi basamaktan (0,1,2,3,4,5,6,7,8,9) oluşur, sekizli sayı sisteminde ise ikili sistemde bir basamak kümesi (0,1, 2,3,4,5,6,7) - basamak kümesinden (0,1), onaltılık sayı sisteminde - basamak kümesinden (0, 1,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), burada A,B,C,D,E,F 10,11 sayılarına karşılık gelir, 12,13,14,15 Tablo 1'de sayılar farklı sayı sistemlerinde temsil edilmektedir.

tablo 1
gösterim
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Sayıları bir sayı sisteminden diğerine dönüştürme

Sayıları bir sayı sisteminden diğerine çevirmek için en kolay yol, önce sayıyı ondalık sayı sistemine dönüştürmek ve ardından ondalık sayı sisteminden gerekli sayı sistemine çevirmektir.

Sayıları herhangi bir sayı sisteminden ondalık sayı sistemine dönüştürme

Formül (1)'i kullanarak, sayıları herhangi bir sayı sisteminden ondalık sayı sistemine dönüştürebilirsiniz.

Örnek 1. 1011101.001 sayısını ikili sayı sisteminden (SS) ondalık SS'ye dönüştürün. Çözüm:

1 2 6 +0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2 -1 + 0 2 -2 + 1 2 -3 =64+16+8+4+1+1/8=93.125

Örnek2. 1011101.001 sayısını sekizli sayı sisteminden (SS) ondalık SS'ye dönüştürün. Çözüm:

Örnek 3 . AB572.CDF sayısını onaltılıktan ondalık SS'ye dönüştürün. Çözüm:

Burada A-10 ile değiştirildi, B- 11'de, C- 12'de, F- 15'te.

Sayıları ondalık sayı sisteminden başka bir sayı sistemine dönüştürme

Sayıları ondalık sayı sisteminden başka bir sayı sistemine dönüştürmek için sayının tamsayı kısmını ve sayının kesirli kısmını ayrı ayrı çevirmeniz gerekir.

Sayının tamsayı kısmı, ondalık SS'den başka bir sayı sistemine çevrilir - sayının tamsayı kısmının sayı sisteminin tabanına art arda bölünmesiyle (ikili SS için - 2, 8 basamaklı SS için - 8 ile) , 16 basamaklı için - 16'ya kadar, vb. ) SS tabanından daha az bir tam kalan elde etmek için.

Örnek 4 . 159 sayısını ondalık SS'den ikili SS'ye çevirelim:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Olarak Şekil l'de görülebilir. 1, 159 sayısı, 2'ye bölündüğünde, 79'u ve kalan 1'i verir. Ayrıca, 79 sayısı, 2'ye bölündüğünde, bölüm 39'u ve kalan 1'i verir, vb. Sonuç olarak, bölümün geri kalanından bir sayı oluşturarak (sağdan sola), ikili SS'de bir sayı elde ederiz: 10011111 . Bu nedenle şunları yazabiliriz:

159 10 =10011111 2 .

Örnek 5 . 615 sayısını ondalık SS'den sekizlik SS'ye çevirelim.

615 8
608 76 8
7 72 9 8
4 8 1
1

Bir sayıyı ondalık SS'den sekizlik SS'ye dönüştürürken, 8'den küçük bir tamsayı elde edene kadar sayıyı sırayla 8'e bölmeniz gerekir. sekizlik SS'de bir sayı alın: 1147 (bkz. Şekil 2). Bu nedenle şunları yazabiliriz:

615 10 =1147 8 .

Örnek 6 . 19673 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Şekil 3'te görüldüğü gibi 19673 sayısını arka arkaya 16'ya bölerek 4, 12, 13, 9 kalanlarını elde ederiz. Onaltılık sayı sisteminde 12 sayısı C'ye, 13 - D sayısına karşılık gelir. Dolayısıyla, onaltılık sayımız 4CD9'dur.

Doğru ondalık kesirleri (sıfır tamsayı kısmı olan bir gerçek sayı), s tabanlı bir sayı sistemine dönüştürmek için, bu sayı, kesirli kısım saf sıfır olana kadar art arda s ile çarpılmalıdır, ya da gerekli sayıda basamak elde ederiz. Çarpma işlemi, tamsayı kısmı sıfırdan farklı olan bir sayı ile sonuçlanırsa, bu tamsayı kısmı dikkate alınmaz (sonuca sırayla eklenirler).

Yukarıdakilere örneklerle bakalım.

Örnek 7 . 0.214 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Şekil 4'te görüldüğü gibi 0.214 sayısı art arda 2 ile çarpılır. Çarpma sonucu tamsayı kısmı sıfırdan farklı olan bir sayı ise tamsayı kısmı ayrı yazılır (sayının soluna), ve sayı sıfır tamsayı kısmı ile yazılır. Çarpıldığında, tamsayı kısmı sıfır olan bir sayı elde edilirse, soluna sıfır yazılır. Kesirli kısımda tam bir sıfır elde edilinceye veya gerekli sayıda basamak elde edilinceye kadar çarpma işlemi devam eder. Yukarıdan aşağıya kalın sayılar (Şekil 4) yazarak, ikili sistemde gerekli sayıyı elde ederiz: 0. 0011011 .

Bu nedenle şunları yazabiliriz:

0.214 10 =0.0011011 2 .

Örnek 8 . 0.125 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

0.125 sayısını ondalık SS'den ikiliye dönüştürmek için bu sayı art arda 2 ile çarpılır. Üçüncü aşamada 0 elde edilir.Bu nedenle aşağıdaki sonuç elde edilir:

0.125 10 =0.001 2 .

Örnek 9 . 0.214 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Örnek 4 ve 5'in ardından 3, 6, 12, 8, 11, 4 sayılarını elde ederiz. Ancak onaltılık SS'de C ve B sayıları 12 ve 11 sayılarına karşılık gelir.

0.214 10 =0.36C8B4 16 .

Örnek 10 . 0,512 sayısını ondalık sayı sisteminden sekizlik SS'ye çevirelim.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Var:

0.512 10 =0.406111 8 .

Örnek 11 . 159.125 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim. Bunu yapmak için, sayının tamsayı kısmını (Örnek 4) ve sayının kesirli kısmını (Örnek 8) ayrı ayrı çeviriyoruz. Bu sonuçları birleştirerek şunları elde ederiz:

159.125 10 =10011111.001 2 .

Örnek 12 . 19673.214 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim. Bunu yapmak için, sayının tamsayı kısmını (Örnek 6) ve sayının kesirli kısmını (Örnek 9) ayrı ayrı çeviriyoruz. Elde ettiğimiz bu sonuçları daha da birleştirerek.


Yunan Gürcü
Etiyopya
Yahudi
Akshara-sankhya Başka Babil
Mısırlı
Etrüsk
Roma
Tuna Çatı katı
kipu
Maya
Ege
KPU'nun Sembolleri konumsal , , , , , , , , , , Nega-konumsal simetrik karma sistemler Fibonacci konumsal olmayan Tekil (tekli)

İkili sayı sistemi- 2 tabanlı konumsal sayı sistemi. Mantık kapılarındaki dijital elektronik devrelerde doğrudan uygulanması nedeniyle, ikili sistem neredeyse tüm modern bilgisayarlarda ve diğer elektronik bilgi işlem cihazlarında kullanılır.

Sayıların ikili gösterimi

İkili sistemde sayılar iki sembol kullanılarak yazılır ( 0 ve 1 ). Sayının hangi sayı sisteminde yazıldığını karıştırmamak için sağ altta bir işaretçi bulunur. Örneğin, ondalık bir sayı 5 10 , ikili olarak 101 2 . Bazen ikili bir sayı bir önek ile gösterilir. 0b veya sembol & (ve işareti), örneğin 0b101 veya sırasıyla &101 .

İkili sayı sisteminde (ondalık hariç diğer sayı sistemlerinde olduğu gibi) karakterler birer birer okunur. Örneğin, 1012 sayısı "bir sıfır bir" olarak telaffuz edilir.

tamsayılar

İkili olarak yazılmış bir doğal sayı (bir n − 1 bir n − 2 … bir 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), şu anlama gelir:

(a n − 1 bir n − 2 … bir 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_() 0))_(2)=\toplam _(k=0)^(n-1)a_(k)2^(k),)

negatif sayılar

Negatif ikili sayılar, ondalık sayılarla aynı şekilde gösterilir: sayının önünde "-" ile. Yani, ikili gösterimde yazılmış negatif bir tamsayı (− bir n − 1 bir n − 2 … bir 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), şu değere sahiptir:

(− bir n - 1 bir n - 2 … bir 1 bir 0) 2 = - ∑ k = 0 n - 1 bir k 2 k. (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\sum _(k=0)^(n-1)a_( k)2^(k).)

ek kod.

kesirli sayılar

İkili olarak yazılmış bir kesirli sayı (bir n − 1 bir n − 2 … bir 1 bir 0 , bir − 1 bir − 2 … bir − (m − 1) bir − m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots) a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_(2)), şu değere sahiptir:

(bir n − 1 bir n − 2 … bir 1 bir 0 , bir − 1 bir − 2 … bir − (m − 1) bir − m) 2 = ∑ k = − m n − 1 bir k 2 k , (\displaystyle (a_( n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_( 2)=\toplam _(k=-m)^(n-1)a_(k)2^(k),)

İkili sayılarda toplama, çıkarma ve çarpma

Toplama tablosu

Bir sütun ekleme örneği (ikili sistemde 14 10 + 5 10 = 19 10 ondalık ifadesi 1110 2 + 101 2 = 10011 2 gibi görünür):

Bir "sütun" ile çarpma örneği (ikili sistemde 14 10 * 5 10 \u003d 70 10 ondalık ifadesi 1110 2 * 101 2 \u003d 1000110 2 gibi görünür):

1 ile başlayarak, tüm sayılar iki ile çarpılır. 1'den sonraki noktaya ikili nokta denir.

İkiliden ondalığa dönüştürme

Diyelim ki bize ikili bir sayı verildi 110001 2 . Ondalık sayıya dönüştürmek için rakamların toplamı olarak aşağıdaki gibi yazın:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Aynı şey biraz farklı:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Bunu aşağıdaki gibi tablo şeklinde yazabilirsiniz:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Sağdan sola hareket ettirin. Her ikili birimin altına eşdeğerini aşağıdaki satıra yazın. Ortaya çıkan ondalık sayıları ekleyin. Bu nedenle, 110001 2 ikili sayısı, 49 10 ondalık sayısına eşdeğerdir.

Kesirli ikili sayıları ondalık sayıya dönüştürme

Bir sayıyı çevirmek gerekiyor 1011010,101 2 ondalık sisteme. Bu sayıyı şöyle yazalım:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Aynı şey biraz farklı:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Veya tabloya göre:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Horner dönüşümü

Bu yöntemle sayıları ikiliden ondalığa çevirebilmek için soldan sağa sayıları toplamanız, daha önce elde edilen sonucu sistem bazında çarparak (bu durumda 2) yapmanız gerekir. Horner'ın yöntemi genellikle ikiliden ondalığa dönüştürülür. İkili sayı sisteminde toplama ve çarpma becerilerini gerektirdiği için ters işlem zordur.

Örneğin, ikili sayı 1011011 2 şu şekilde ondalık sayıya dönüştürülür:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Yani ondalık sistemde bu sayı 91 olarak yazılacaktır.

Horner yöntemiyle sayıların kesirli kısmının çevirisi

Sayılar sağdan sola sayıdan alınır ve sayı sistemi (2) esasına göre bölünür.

Örneğin 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Cevap: 0.1101 2 = 0.8125 10

Ondalıktan ikiliye dönüştürme

Diyelim ki 19 sayısını ikiliye dönüştürmemiz gerekiyor. Aşağıdaki prosedürü kullanabilirsiniz:

19/2 = 9 kalan 1
9/2 = 4, kalanla 1
4/2 = 2 kalan yok 0
2/2 = 1 kalan yok 0
1/2 = 0 kalan 1

Böylece her bölümü 2'ye böleriz ve kalanı ikili gösterimin sonuna yazarız. Bölüm 0 olana kadar bölmeye devam ediyoruz. Sonucu sağdan sola yazıyoruz. Yani, en alttaki (1) en soldaki sayı olacaktır, vb. Sonuç olarak, ikili gösterimde 19 sayısını elde ederiz: 10011 .

Kesirli ondalık sayıları ikiliye dönüştürme

Orijinal sayıda bir tamsayı kısmı varsa, o zaman kesirli kısımdan ayrı olarak dönüştürülür. Bir kesirli sayının ondalık sayı sisteminden ikili sayıya dönüştürülmesi aşağıdaki algoritmaya göre gerçekleştirilir:

  • Kesir, ikili sayı sisteminin (2) tabanı ile çarpılır;
  • Ortaya çıkan üründe, ikili sayı sisteminde sayının en anlamlı basamağı olarak alınan tamsayı kısmı ayrılır;
  • Algoritma, elde edilen ürünün kesirli kısmı sıfıra eşitse veya gerekli hesaplama doğruluğuna ulaşılırsa sona erer. Aksi takdirde, ürünün kesirli kısmı üzerinden hesaplamalara devam edilir.

Örnek: Kesirli bir ondalık sayıyı dönüştürmek istiyorsunuz 206,116 kesirli ikili sayıya dönüştürülür.

Tamsayı kısmının çevirisi, daha önce açıklanan algoritmalara göre 206 10 = 110001110 2'yi verir. 0.116'nın kesirli kısmını taban 2 ile çarparız, ürünün tamsayı kısımlarını istenen kesirli ikili sayının ondalık noktasından sonraki rakamlara koyarız:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
vb.

Böylece 0.116 10 ≈ 0, 0001110110 2

Şunu elde ederiz: 206.116 10 ≈ 11001110.0001110110 2

Uygulamalar

Dijital cihazlarda

İkili sistem, en basit ve gereksinimleri karşıladığı için dijital cihazlarda kullanılır:

  • Sistemde ne kadar az değer varsa, bu değerler üzerinde çalışan ayrı ayrı elemanlar yapmak o kadar kolay olur. Özellikle, ikili sayı sisteminin iki basamağı birçok fiziksel olayla kolayca temsil edilebilir: akım var (akım eşik değerinden büyük) - akım yok (akım eşik değerinden küçük), manyetik alan indüksiyonu eşik değerinden büyük veya değil (manyetik alan indüksiyonu eşik değerinden küçük) vb.
  • Bir eleman için durum sayısı ne kadar düşükse, gürültü bağışıklığı o kadar yüksek ve o kadar hızlı çalışabilir. Örneğin, voltaj, akım veya manyetik alan indüksiyonu açısından üç durumu kodlamak için iki eşik değeri ve iki karşılaştırıcı girmeniz gerekir,

Hesaplamada, ikiye tümleyende negatif ikili sayılar yazmak için yaygın olarak kullanılır. Örneğin, -5 10 sayısı -101 2 olarak yazılabilir, ancak 32 bit bilgisayarda 2 olarak saklanabilir.

İngiliz ölçü sisteminde

Doğrusal boyutları inç cinsinden belirtirken, ondalık sayılar yerine ikili kesirler kullanmak gelenekseldir, örneğin: 5¾ ″, 7 15/16 ″, 3 11/32 ″, vb.

genellemeler

İkili sayı sistemi, bir ikili kodlama sistemi ile tabanı 2'ye eşit olan bir üstel ağırlık fonksiyonunun bir kombinasyonudur. farklı taban. Örnek: ondalık basamakların ikili olarak yazıldığı ve sayı sisteminin ondalık olduğu ikili kodlu ondalık kodlama.

Hikaye

  • Eski Çin'de, Değişiklikler Kitabı'nın klasik metinlerinde, 3 bit ve 6 bitlik sayılara benzer, 8 trigram ve 64 heksagramdan oluşan eksiksiz bir set biliniyordu. heksagramların sırası değişiklik kitabı, karşılık gelen ikili rakamların (0'dan 63'e kadar) değerlerine uygun olarak bulunur ve bunları elde etme yöntemi 11. yüzyılda Çinli bilim adamı ve filozof Shao Yong tarafından geliştirilmiştir. Ancak, Shao Yong'un ikili aritmetik kurallarını anladığını ve iki karakterli demetleri sözlükbilimsel sıraya yerleştirdiğini gösteren hiçbir kanıt yoktur.
  • İkili rakamların kombinasyonları olan setler, Afrikalılar tarafından geleneksel kehanetlerde (Ifa gibi) ve ortaçağ coğrafyasında kullanıldı.
  • 1854'te İngiliz matematikçi George Boole, şimdi Boole cebiri veya mantığın cebiri olarak bilinen, mantığa uygulanan cebirsel sistemleri açıklayan ufuk açıcı bir çalışma yayınladı. Mantıksal hesabı, modern dijital elektronik devrelerin geliştirilmesinde önemli bir rol oynamaya mahkum edildi.
  • 1937'de Claude Shannon savunma için doktora tezini sundu. Röle ve anahtarlama devrelerinin sembolik analizi Boole cebri ve ikili aritmetiğin elektronik rölelere ve anahtarlara uygulandığı . Esasen tüm modern dijital teknolojiler Shannon'ın tezine dayanmaktadır.
  • Kasım 1937'de, daha sonra Bell Laboratuarlarında çalışan George Stiebitz, röleye dayalı (İngilizce'den) "Model K" bilgisayarını yarattı. K itchen, montajın yapıldığı mutfak) ikili eklemeyi yaptı. 1938'in sonlarında Bell Labs, Stbitz tarafından yönetilen bir araştırma programı başlattı. Liderliğinde oluşturulan ve 8 Ocak 1940'ta tamamlanan bilgisayar, karmaşık sayılarla işlem yapabildi. 11 Eylül 1940'ta Dartmouth Koleji'ndeki Amerikan Matematik Derneği konferansındaki bir gösteri sırasında Stiebitz, bir tele-daktilo kullanarak bir telefon hattı üzerinden uzak karmaşık sayı hesaplayıcıya komut gönderme yeteneğini gösterdi. Bu, uzak bir bilgisayarı bir telefon hattı üzerinden kullanmaya yönelik ilk girişimdi. Gösteriye tanık olan konferans katılımcıları arasında John von Neumann, John Mauchly ve daha sonra anılarında bu konuda yazan Norbert Wiener vardı.
  • Novosibirsk Academgorodok'taki binanın (SSCB Bilimler Akademisi Sibirya Şubesinin eski Bilgi İşlem Merkezi) alınlığında, binanın yapım tarihini simgeleyen 1000110, 70'e eşit bir ikili sayı vardır 10 .

İkili kod, herhangi bir iki karakterli sistemi kullanan metin, bilgisayar işlemci talimatları veya diğer verilerdir. Çoğu zaman, bu 0'lar ve 1'lerden oluşan bir sistemdir.Her karaktere ve komuta bir ikili basamak (bit) deseni atar. Örneğin, sekiz bitlik bir ikili dize, 256 olası değerden herhangi birini temsil edebilir ve bu nedenle birçok farklı öğe üretebilir. Dünya profesyonel programcılar topluluğunun ikili kodunun incelemeleri, bunun mesleğin temeli ve bilgi işlem sistemlerinin ve elektronik cihazların işleyişinin ana yasası olduğunu göstermektedir.

İkili kod çözme

Bilgi işlem ve telekomünikasyonda, veri karakterlerini bit dizilerine kodlamanın çeşitli yöntemleri için ikili kodlar kullanılır. Bu yöntemler, sabit veya değişken genişlikte dizeler kullanabilir. İkili koda dönüştürmek için birçok karakter ve kodlama seti vardır. Sabit genişlikli kodda, her harf, rakam veya diğer karakter, aynı uzunlukta bir bit dizisi ile temsil edilir. İkili bir sayı olarak yorumlanan bu bit dizisi, genellikle kod tablolarında sekizli, ondalık veya onaltılık gösterimde görüntülenir.

İkili şifre çözme: İkili sayı olarak yorumlanan bir bit dizisi ondalık sayıya dönüştürülebilir. Örneğin, küçük harf a, 01100001 bit dizisiyle (standart ASCII kodunda olduğu gibi) temsil ediliyorsa, 97 ondalık sayı olarak da gösterilebilir. İkiliyi metne dönüştürmek aynı prosedürdür, sadece tersidir.

Nasıl çalışır

İkili kod neyden yapılmıştır? Dijital bilgisayarlarda kullanılan kod, yalnızca iki olası durumun olduğu temele dayanmaktadır: açık. ve kapalı, genellikle sıfır ve bir ile gösterilir. 10 basamak kullanan ondalık sistemde her konum 10'un katıdır (100, 1000 vb.), ikili sistemde ise her dijital konum 2'nin (4, 8, 16 vb.) katıdır. ). İkili kod sinyali, gerçekleştirilecek sayıları, sembolleri ve işlemleri temsil eden bir dizi elektriksel darbedir.

Saat adı verilen bir cihaz düzenli darbeler gönderir ve transistörler gibi bileşenler darbeleri iletmek veya bloke etmek için açılır (1) veya kapanır (0). İkili sistemde, her ondalık sayı (0-9) bir dizi dört ikili basamak veya bit ile temsil edilir. Dört temel aritmetik işlem (toplama, çıkarma, çarpma ve bölme), ikili sayılar üzerindeki temel Boole cebirsel işlemlerinin kombinasyonlarına indirgenebilir.

İletişim ve bilgi teorisinde bit, dijital bilgisayarlarda yaygın olarak kullanılan ikili sayı sisteminde iki olası alternatif arasındaki seçimin sonucuna eşdeğer bir veri birimidir.

İkili kod incelemeleri

Kodun ve verilerin doğası, BT'nin temel dünyasının temel bir parçasıdır. Dünyanın BT uzmanları “perde arkasında” bu araçla çalışır - uzmanlığı sıradan bir kullanıcının dikkatinden gizlenmiş programcılar. Geliştiricilerden ikili koda ilişkin geri bildirimler, bu alanın matematiksel temellerin derinlemesine incelenmesini ve matematik analizi ve programlama alanında çok fazla uygulama gerektirdiğini göstermektedir.

İkili kod, bilgisayar kodunun veya programlama verilerinin en basit şeklidir. Tamamen ikili sayı sistemi ile temsil edilir. İkili kod incelemelerine göre, ikili kümeler bir bilgisayar veya başka bir donanım tarafından yorumlanan kaynak kodu oluşturmak için birleştirilebildiğinden, genellikle makine koduyla ilişkilendirilir. Bu kısmen doğrudur. talimatları oluşturmak için ikili basamak kümelerini kullanır.

En temel kod biçiminin yanı sıra ikili, günümüzün veri varlıklarını ve kaynaklarını işleyen tüm karmaşık karmaşık donanım ve yazılım sistemlerinden geçen en küçük veri miktarını da temsil eder. En küçük veri miktarına bit denir. Geçerli bit dizileri, bilgisayar tarafından yorumlanan kod veya veri haline gelir.

ikili numara

Matematik ve dijital elektronikte, ikili sayı, taban-2 sayı sisteminde veya yalnızca iki karakter kullanan ikili sayı sisteminde ifade edilen bir sayıdır: 0 (sıfır) ve 1 (bir).

2 tabanlı sayı sistemi, yarıçapı 2 olan konumsal bir gösterimdir. Her bir rakam bir bit olarak adlandırılır. Dijital elektronik devrelerde mantık kurallarını kullanarak basit bir şekilde uygulanması nedeniyle, ikili sistem neredeyse tüm modern bilgisayarlar ve elektronik cihazlar tarafından kullanılmaktadır.

Hikaye

İkili kodun temeli olan modern ikili sayı sistemi, 1679'da Gottfried Leibniz tarafından icat edildi ve "İkili Aritmetik Açıklaması" adlı makalesinde sunuldu. İkili sayılar Leibniz'in teolojisinin merkezindeydi. İkili sayıların, Hıristiyanlığın ex nihilo yaratıcılık fikrini veya hiçlikten yaratmayı sembolize ettiğine inanıyordu. Leibniz, mantığın sözlü ifadelerini salt matematiksel verilere dönüştürecek bir sistem bulmaya çalışıyordu.

Leibniz'den önce gelen ikili sistemler de antik dünyada mevcuttu. Bir örnek, kehanet metninin yin ve yang ikiliğine dayandığı Çin ikili sistemi I Ching'dir. Asya ve Afrika'da, mesajları kodlamak için ikili tonlu yarık davullar kullanıldı. Hintli bilgin Pingala (yaklaşık MÖ 5. yüzyıl) Chandashutrema adlı eserinde prozodiyi tanımlamak için ikili bir sistem geliştirdi.

Fransız Polinezyası'ndaki Mangareva Adası sakinleri 1450'ye kadar hibrit bir ikili ondalık sistem kullandılar. 11. yüzyılda, bilim adamı ve filozof Shao Yong, yin 0 ve yang 1 olmak üzere ikili biçimde temsil edildiği gibi 0'dan 63'e kadar bir diziye karşılık gelen heksagramları düzenlemek için bir yöntem geliştirdi. iki elemanlı bir kümeden seçilen eleman blokları.

yeni zaman

1605'te, alfabedeki harflerin, daha sonra herhangi bir rastgele metinde ince yazı tipi varyasyonları olarak kodlanabilecek ikili basamak dizilerine indirgenebileceği bir sistemi tartıştı. Genel ikili kodlama teorisini, bu yöntemin herhangi bir nesneyle kullanılabileceği gözlemiyle tamamlayan Francis Bacon olduğunu belirtmek önemlidir.

George Boole adlı bir başka matematikçi ve filozof, 1847'de, bugün Boole cebri olarak bilinen cebirsel mantık sistemini anlatan "Mantığın Matematiksel Analizi" başlıklı bir makale yayınladı. Sistem, üç temel işlemden oluşan ikili bir yaklaşıma dayanıyordu: VE, VEYA ve DEĞİL. Bu sistem, Claude Shannon adlı bir MIT yüksek lisans öğrencisi, öğrendiği Boole cebrinin bir elektrik devresi gibi olduğunu fark edene kadar kullanılmadı.

Shannon, 1937'de önemli sonuçlar çıkaran bir tez yazdı. Shannon'ın tezi, bilgisayarlar ve elektrik devreleri gibi pratik uygulamalarda ikili kodun kullanımı için başlangıç ​​noktası oldu.

Diğer ikili kod biçimleri

Bit dizisi, ikili kodun tek türü değildir. Genel olarak ikili sistem, elektronik sistemdeki bir anahtar veya basit bir doğru veya yanlış test gibi yalnızca iki seçeneğe izin veren herhangi bir sistemdir.

Braille, kör insanlar tarafından dokunarak okumak ve yazmak için yaygın olarak kullanılan ve adını yaratıcısı Louis Braille'den alan bir ikili kod türüdür. Bu sistem, sütun başına üç olmak üzere her biri altı noktadan oluşan ve her noktanın iki duruma sahip olduğu ızgaralardan oluşur: yükseltilmiş veya girintili. Çeşitli nokta kombinasyonları tüm harfleri, sayıları ve noktalama işaretlerini temsil edebilir.

American Standard Code for Information Interchange (ASCII), bilgisayarlarda, iletişim ekipmanlarında ve diğer cihazlarda metin ve diğer karakterleri temsil etmek için 7 bitlik bir ikili kod kullanır. Her harf veya sembole 0 ile 127 arasında bir sayı atanır.

İkili kodlanmış ondalık veya BCD, ondalık basamakları kodlamak için 4 bitlik bir grafik kullanan tamsayı değerlerinin ikili kodlanmış bir temsilidir. Dört ikili bit, 16'ya kadar farklı değeri kodlayabilir.

BCD kodlu sayılarda, her nibble'daki yalnızca ilk on değer geçerlidir ve ondalık basamakları sıfırdan dokuza kadar kodlar. Kalan altı değer geçersizdir ve bilgisayarın BCD aritmetiği uygulamasına bağlı olarak bir makine istisnasına veya belirtilmemiş davranışa neden olabilir.

BCD aritmetiği, bazen karmaşık sayı yuvarlama davranışının istenmediği ticari ve finansal uygulamalarda kayan noktalı sayısal biçimlere göre tercih edilir.

Başvuru

Çoğu modern bilgisayar, talimatlar ve veriler için bir ikili kod programı kullanır. CD'ler, DVD'ler ve Blu-ray diskler, ses ve videoyu ikili biçimde temsil eder. Telefon görüşmeleri, uzun mesafe ve cep telefonu şebekelerinde darbeli kod modülasyonu kullanılarak ve IP üzerinden ses şebekelerinde dijital olarak taşınır.

Herkes bilgisayarların büyük veri grupları üzerinde muazzam bir hızla hesaplamalar yapabildiğini bilir. Ancak herkes bu eylemlerin sadece iki koşula bağlı olduğunu bilmiyor: akım olup olmadığı ve hangi voltaj.

Bir bilgisayar bu kadar çeşitli bilgileri işlemeyi nasıl başarır?
İşin sırrı ikili sistemde yatıyor. Tüm veriler, her biri elektrik kablosunun bir durumuna karşılık gelen birimler ve sıfırlar şeklinde sunulan bilgisayara girer: birimler - yüksek voltaj, sıfırlar - düşük veya birler - voltajın varlığı, sıfırlar - yokluğu. Verilerin sıfırlara ve birlere dönüştürülmesine ikili dönüştürme denir ve bunların son gösterimine ikili kod denir.
Günlük hayatta kullanılan ondalık sisteme dayalı ondalık gösterimde, sayısal bir değer 0'dan 9'a kadar on basamakla temsil edilir ve sayıdaki her yer, sağındaki basamaktan on kat daha büyük bir değere sahiptir. Ondalık sistemde dokuzdan büyük bir sayıyı temsil etmek için yerine sıfır, soldaki sonraki, daha değerli yere bir birim konur. Benzer şekilde, yalnızca iki basamak olan 0 ve 1'in kullanıldığı ikili sistemde, her yer, sağındaki yerin iki katı kadar değerlidir. Bu nedenle, ikili kodda yalnızca sıfır ve bir tek sayılar olarak temsil edilebilir ve birden büyük herhangi bir sayı iki basamak gerektirir. Sıfır ve birden sonra, sonraki üç ikili sayı 10 (bir-sıfır oku) ve 11 (bir-bir oku) ve 100 (bir-sıfır-sıfır oku). 100 ikili, 4 ondalık basamağa eşittir. Sağdaki üst tablo diğer BCD eşdeğerlerini gösterir.
Herhangi bir sayı ikili olarak ifade edilebilir, sadece ondalık gösterimden daha fazla yer kaplar. İkili sistemde, her harfe belirli bir ikili sayı atanırsa alfabe de yazılabilir.

Dört yer için iki basamak
Koyu ve açık topları dörtlü setler halinde birleştirerek 16 kombinasyon yapılabilir.Karanlık toplar sıfır ve açık olanlar bir olarak alınırsa, 16 set 16 birim ikili kod olarak ortaya çıkacaktır, sayısal değer sıfırdan beşe kadardır ( 27. sayfadaki üst tabloya bakın). İkili sistemde iki tür bilye olsa bile, her gruptaki top sayısını veya sayılardaki yer sayısını artırarak sonsuz sayıda kombinasyon oluşturabilirsiniz.

Bitler ve baytlar

Bilgisayar işlemedeki en küçük birim olan bit, iki olası koşuldan birine sahip olabilen bir veri birimidir. Örneğin, birler ve sıfırların her biri (sağda) 1 bit anlamına gelir. Bir bit başka şekillerde temsil edilebilir: bir elektrik akımının varlığı veya yokluğu, bir delik ve yokluğu, sağa veya sola manyetizasyon yönü. Sekiz bit bir bayt oluşturur. 256 olası bayt, 256 karakter ve sembolü temsil edebilir. Birçok bilgisayar aynı anda baytlarca veriyi işler.

ikili dönüştürme. Dört basamaklı bir ikili kod, 0 ile 15 arasındaki ondalık sayıları temsil edebilir.

Kod tabloları

Alfabenin harflerini veya noktalama işaretlerini belirtmek için ikili kod kullanıldığında, hangi kodun hangi karaktere karşılık geldiğini gösteren kod tabloları gerekir. Bu tür birkaç kod derlenmiştir. Çoğu bilgisayar, ASCII veya Bilgi Değişimi için Amerikan Standart Kodu adı verilen yedi basamaklı bir kodla yapılandırılmıştır. Sağdaki tablo, İngiliz alfabesinin ASCII kodlarını gösterir. Diğer kodlar dünyanın diğer dillerinden binlerce karakter ve alfabe içindir.

ASCII kod tablosunun bir parçası