Menü
Bedava
kayıt
ev  /  Gezginler/ Herhangi bir sayı gerçek olarak kabul edilebilir. Bilgisayarda sayıları temsil etme

Herhangi bir sayı gerçek olarak kabul edilebilir. Bilgisayarda sayıları temsil etme

ana özellik dengeli sayı sistemleri - aritmetik işlemler yaparken "işaret kuralı" kullanılmaz.

Fibonacci sayı sistemini kullanma. Bilgisayar çağının başlangıcında, sayıları temsil etmenin konumsal yolları alanında, ancak az bilinen ve o zamanlar matematikçilerin ve mühendislerin pek ilgisini çekmeyen iki keşif daha yapıldı. Fibonacci sayı sisteminin özelliklerinden veya altın oranın SS'sinden bahsediyoruz.

XX yüzyılın son on yıllarında, SSCB'de bir profesör tarafından yönetilen bir grup matematikçi, bilginin depolanması, işlenmesi ve iletilmesinin güvenilirliği sorununu çözme ile ilgili son derece ilginç sonuçlar elde etti. bilgisayar sistemleri... Matematikçiler, Fibonacci sistemini bilgisayarlarda bir SS olarak kullanmayı önerdiler. Bu sistemin alfabesinin 0 ve 1 sayıları olduğunu ve temelin Fibonacci sayılarının dizisi olduğunu hatırlayın: 1, 2, 3, 5, 8, 13, 21,

Fibonacci kodlarının ana avantajı, pratik uygulamalar sayısal dönüşümleri kontrol etmek amacıyla kullanılabilecek "doğal" fazlalıklarından oluşur. Bu fazlalık, aynı sayının çoklu temsillerinin özelliğinde kendini gösterir. Örneğin, Fibonacci kodundaki 30 sayısının birkaç gösterimi vardır:

30 = 1001101FbenB = 1010001FbenB = 111101FbenB.

Bu durumda sayının kod görüntüsü üzerinde gerçekleştirilen özel Fibonacci konvolüsyon (011 → 100) ve süpürme (100 → 011) işlemleri kullanılarak aynı sayının farklı kod gösterimleri birbirinden elde edilebilir. Kod görüntüsü üzerinde tüm olası kıvrımları yaparsak, özel bir Fibonacci görüntüsüne geliriz. minimal form iki bitişik birimin olmadığı. Kod görüntüsünde olası tüm süpürme işlemlerini gerçekleştirirsek, o zaman özel bir Fibonacci görüntüsüne geliriz. maksimum , veya konuşlandırılmış ,biçim , burada iki sıfır yan yana oluşmaz.

Fibonacci aritmetiğinin analizi, ana işlemlerinin evrişim, açma ve bunlara dayalı olarak Fibonacci kodunu minimum forma indirgeme işlemleri olduğunu gösterdi.

Bu matematiksel sonuçlar, bilgisayar oluşturma projesinin temeli oldu ve ölçüm sistemleri Fibonacci sayı sistemine dayalıdır.

Yeni bilgisayar teknolojisinin eleman tabanını geliştirirken, ana operasyonel unsur, Fibonacci kodunu minimum forma indirgeyen cihazdı. Bu cihaz, RS parmak arası terlikler ve "VE" ve "VEYA" kapıları aracılığıyla uygulandı. Aşağıdaki işlemleri gerçekleştiren bir mikro devrenin prototipleri oluşturuldu: veri yazma ve okuma, evrişim, süpürme, taşıma, emme, minimum forma indirme, toplama, çıkarma, ters kaydırma, mantıksal çarpma, mantıksal toplama ve toplama modulo 2.

Mikro devrenin ayırt edici bir özelliği, hakkında bilgi veren bir kontrol çıkışının varlığıydı. yanlış iş mikro devreler.

Böylece, bu gelişmenin ana sonucu, şimdiye kadarki ilkin yaratılmasıydı. bilgisayar Teknolojisi Tetikleyicileri değiştirirken meydana gelen arızaları %100 tespit etme garantisi ile kendi kendini izleyen bir Fibonacci işlemcisinin uygulanması için mikro devreler.

Ve çeşitli nedenlerle bir Fibonacci bilgisayarı oluşturmak henüz mümkün olmasa da, teorik temel Bu yön şüphesiz ilgi çekicidir ve sadece bilgisayar alanında değil, aynı zamanda matematik alanında da yeni fikirlerin kaynağı olabilir. Fibonacci temsillerinin ölçme tekniğinde kullanımı ve dijital işleme sinyaller.

Artık sınıf sisteminin kullanılması. Bilgisayar teknolojisinin geliştirilmesinde, matematikçiler her zaman en zor problemle karşı karşıya kalırlar - bir bilgisayarda aritmetik işlemleri gerçekleştirmek için verimli (genellikle "sınırlayıcı" olarak adlandırılır) algoritmaların oluşturulması. Bu sorunu çözmenin bir parçası olarak, bilim adamları yeni sayı sistemleri icat ettiler ve bunlara dayalı bilgisayar aritmetiği geliştirdiler, bu da hızı ve güvenilirliği ikili aritmetik tabanlı bilgisayarlardan daha üstün olan bilgi işlem cihazları oluşturmayı mümkün kıldı. Bu SS, konumsal olmayan bir artık sınıflar sistemi, bazı hiyerarşik sayı sistemleri vb.

Hiyerarşik sayı sistemleri, konumsal ve konumsal olmayan SS'yi birleştirme fikri temelinde inşa edilirken, birleştirmeleri gerekir. olumlu yönler sistemlerin içinde yer alır ve eksikliklerinden arınmış olur. Hiyerarşik SS oluşturma ilkesi genellikle basittir. Biraz harici sistem hesaplaşma A alfabe ile a... Bu sistemin sayıları, başka bir (iç) sayı sisteminin kelimeleri (kodları) şeklinde yazılır. V alfabe ile r... Böyle bir SS'nin bir örneği, bazı bilgisayarlarda ondalık sayıları temsil etmek için kullanılan iyi bilinen ikili ondalık sistemdir.

Artık sınıf sistemi (RNS), sayıların seçilen temel sistem tarafından bölümün geri kalanıyla temsil edildiği, konumsal olmayan bir SS'dir. P 1, P 2, ..., rn ve asal sayılardır. RNS'de sayılar üzerinde toplama, çıkarma ve çarpma işlemleri basamaklar arasında taşıma olmaksızın her bir taban için bağımsız olarak yapılır.

Tüm sayının değeri hakkında bilgi gerektiren bölme, karşılaştırma vb. işlemler RNS'de daha karmaşık algoritmalara göre gerçekleştirilir. Bu sayı sisteminin bilgisayar olarak yaygın kullanımını engelleyen önemli bir dezavantajıdır. Ancak, bugün modern bilgisayarlar büyük ve süper büyük sayılarla çalışırken, RNS kullanılır, çünkü yalnızca RNS aritmetiği, hesaplamaların sonuçlarını gerçek zamanlı olarak almanıza izin verir.

Bu gibi durumlarda 2'ye yakın değerler m (m- bilgisayarın ikili kapasitesi), örneğin: 2 m-1 – 1, 2m, 2m-1 + 1, vb. Geçen yüzyılın ortalarından bu yana, dünyanın birçok ülkesinden bilim adamları, RNS'deki "uygunsuz" operasyonların hızını artırma sorunuyla uğraşıyorlar. RNS'nin kendisi, bilgisayar sistemlerinde birkaç on yıldır yaygın olarak kullanılmaktadır.

4.5. Sunum biçimleri ve bilginin dönüştürülmesi

4.5.1. Bilgileri kodlama ve kod çözme

Bilgiyle ilgili her türlü çalışmada, her zaman belirli sembolik yapılar biçimindeki temsilinden bahsediyoruz.

Mesajların bir dizi karakter biçiminde olduğu en yaygın tek boyutlu bilgi temsilleri. Bununla birlikte, çok boyutlu gösterimi de yaygın olarak kullanılmaktadır.

Bilgi, canlı organizmalar ve insanlar tarafından çevrenin algılanması sırasında, insanlar ve insanlar, insanlar ve bilgisayarlar, bilgisayarlar ve bilgisayarlar vb. arasındaki bilgi alışverişi süreçlerinde çeşitli şekillerde sunulur. Bilginin bir temsil biçiminden (işaret sistemi) dönüştürülmesi ) diğerine denir kodlama .

Dar anlamda kodlama, bilginin insan algısına uygun ilk temsilinden, depolama, iletim ve işleme için uygun bir temsile geçiş olarak anlaşılmaktadır.

Orijinal görünüme geri dönme denir kod çözme .

Kodlama aracı, iki farklı işaret sisteminin işaretleri veya işaret grupları arasında bire bir yazışma kuran işaret sistemlerinin yazışma tablosudur.

Bilgi alışverişi sürecinde, genellikle bilgi kodlama ve kod çözme işlemlerini gerçekleştirmek gerekir. Bilgisayara klavyede ilgili tuşa basarak alfabe karakteri girdiğinizde karakter kodlanır yani bilgisayar koduna dönüştürülür. Bir monitör veya yazıcının ekranında bir karakter görüntülendiğinde, ters işlem gerçekleşir - karakter bir bilgisayar kodundan grafik görüntüsüne dönüştürüldüğünde kod çözme.

Kodlama örneği olarak bir ürünün dijital ve barkodlarının yazışmalarını ele alalım. Bu tür kodlar her üründe bulunur ve ürünü (üreticinin ülkesi ve şirketi, ürün türü vb.) tam olarak tanımlamanıza olanak tanır.

Dijital kod karakterleri (sayılar), barkod karakter grubuna (dar ve geniş vuruşların yanı sıra aralarındaki boşlukların boyutu) karşılık gelir. Dijital bir kod bir kişi için uygundur ve bir barkod, dar bir ışık demeti kullanılarak okunan ve bilgisayar muhasebe sistemlerinde daha fazla işlenen otomatik muhasebe için uygundur.

Bilgileri kodlarken, aşağıdaki hedefler belirlenir:

· Fiziksel uygulama kolaylığı;

· Algılama kolaylığı;

· Yüksek iletim ve işleme hızı;

· Verimlilik, yani mesajın fazlalığını azaltmak;

· Güvenilirlik, yani kazara bozulmaya karşı koruma;

Güvenlik, yani karşı koruma istenmeyen erişim bilgiye.

Bu hedefler genellikle birbiriyle çelişir, örneğin ekonomi, mesajın fazlalığının azaltılmasını gerektirir ve yalnızca bu fazlalık nedeniyle güvenilirlik elde edilir.

Bilgisayarda sunulan bilgileri manipüle etmek için, bilgisayarın depolama aygıtı (veya belleği) amaçlanmıştır.

Bilgisayar belleğindeki bilgiler, dijital ikili kod biçiminde kaydedilir. Bir bilgisayarda, güvenilir bir şekilde çalışan oluşturmak mümkün olduğundan, bilgileri temsil etmek için ikili kodlama kullanılır. teknik cihazlar yüzde yüz güvenilirlikle ikiden fazla farklı durumu (sayı) kaydedebilen ve tanıyabilen :

· Elektromanyetik röleler (kapalı/açık); ilk bilgisayarların tasarımlarında yaygın olarak kullanıldı;

· Manyetik bilgi taşıyıcısının yüzeyinin alanı (mıknatıslanmış / demanyetize edilmiş);

· Lazer diskinin yüzey alanı (yansıtır / yansıtmaz);

Tetiklemek; iki durumdan birinde kararlı bir şekilde olabilir; yaygın olarak kullanılan rasgele erişim belleği bilgisayar.

Bir bilgisayardaki tüm bilgi türleri, sıfırlar ve birler mantıksal dizileri biçiminde makine dilinde kodlanmıştır (Şekil 4.2).

Bilgi türü

İkili kod

sayısal

Metin

grafik

Ses

Pirinç. 4.2. ikili kodlama bilgi

Bilgisayardaki bilgiler, alfabesi iki sayıdan (0 ve 1) oluşan ikili kodla temsil edilir.

İkili kod numaraları, iki eşit olası durum (olay) olarak görülebilir. İkili bir rakam yazarken, iki olası durumdan (iki basamaktan biri) birinin seçimi gerçekleştirilir ve bu nedenle 1 bit'e eşit miktarda bilgi taşır.

Bir elemana (0 veya 1) sığabilecek bilgi miktarı, biraz , çok az ve anlamsal bir anlam taşımaz. Ancak, bu tür birkaç öğeyi bir hücreye bağlarsanız, bellekte ihtiyaç duyduğunuz kadar bilgi depolayabilirsiniz.

Makine ikili kodunun her basamağının 1 bit olarak bilgi taşıması önemlidir. Böylece, iki basamak bilgileri 2 bit, üç basamak - 3 bit vb. olarak taşır. Bit cinsinden bilgi miktarı, ikili makine kodunun basamak sayısına eşittir.

Bilgisayarın donanımı tarafından bir bütün olarak kabul edilen bit dizisine denir. makine kelimesi .

4.5.2. Bilgi miktarını ölçmek için birimler

Bir bilgi miktarı birimi, belirsizliği yarıya indiren bir mesaj içeren bilgi miktarı olarak alınır. Bilgi miktarının ölçü birimi biraz (biraz) adını İngilizce ifadeden alır. ikili sayıTİkili bir rakamdır.

Yazı tura atarak deneye dönersek, burada belirsizlik yarı yarıya azalır ve bu nedenle alınan bilgi miktarı 1 bite eşittir.

1 bayt = 23 bit = 8 bit.

Bilgisayar biliminde, bilgi miktarını ölçmek için birden fazla üniteden oluşan eğitim sistemi, çoğu bilimde benimsenenlerden biraz farklıdır. Uluslararası Birimler Sistemi (SI) gibi geleneksel metrik sistemler, katların katları olarak 10 faktörünü kullanır. n, nerede n= 3, 6, 9, vb., Kilo (103), Mega (106), Giga (109) vb. ondalık öneklere karşılık gelir.

Bilgisayar ondalık olarak değil, sayılarla çalışır. İkili sistem bu nedenle, bilgi miktarını ölçmek için çoklu birimlerde hesaplandığında, katsayı 2 kullanılır n.

Bu nedenle, bilgi miktarının birden fazla bayt ölçü birimi aşağıdaki gibi girilir:

1 KB = 210 bayt = 1024 bayt;

1 MB = 210 KB = 1024 KB;

1 GB = 210 MB = 1024 MB.

4.5.3. İşaretli ve işaretsiz tamsayı gösterimi

Herhangi bir tamsayı gerçek bir sayı olarak kabul edilebilir, ancak sıfır kesirli kısmı ile, yani gerçek sayıların bir bilgisayarda temsili ve bunlar üzerinde aritmetik işlemlerin uygulanması ile sınırlı olabilir. Ancak, için etkili kullanım bellek, hesaplama yapma hızını artırmak ve tamamen bir kalanla bölme işlemini tanıtmak, tamsayılar özel olarak tasarlanmış şekillerde temsil edilir.

Tamsayıları temsil etmenin özel yollarının tanıtılması, bir bilgisayar yardımıyla çözülen problemlerde oldukça sık olarak, birçok eylemin tamsayılar üzerindeki işlemlere indirgenmesi gerçeğiyle doğrulanır. Örneğin, ekonomik nitelikteki problemlerde veri, anlamlarında tamsayı olan hisse, çalışan, parça, araç vb. sayısıdır. Tamsayılar hem tarih ve saati belirtmek hem de çeşitli nesneleri numaralandırmak için kullanılır: dizi öğeleri, veritabanı kayıtları, makine adresleri vb.

Tam sayıların bilgisayar gösterimi için, genellikle, basamak sayısı ve bir işaret basamağının varlığı veya yokluğu bakımından birbirinden farklı olan birkaç farklı gösterim kullanılır. İmzasız temsil yalnızca şu amaçlarla kullanılabilir:
negatif olmayan tam sayılar, negatif sayılar yalnızca işaretli biçimde temsil edilir.

İşaretsiz gösterimde hücrenin tüm bitleri sayının kendisine atanır. Bir işaret ile temsil edildiğinde, en büyük (soldaki) rakam numaranın işaretine, kalan rakamlar gerçek numaraya atanır. Sayı pozitifse, sayı negatifse - 1 ise, işaretli bite 0 yerleştirilir. Açıktır ki, aynı boyuttaki hücreler, işaretsiz gösterimde, işaretli sayılardan daha geniş bir negatif olmayan tamsayı aralığını temsil edebilir. Örneğin, bir baytta (8 bit) 0'dan 255'e kadar pozitif sayılar yazabilirsiniz,
ve bir işaret ile - sadece 127'ye kadar. Bu nedenle, bazı sayısal değerlerin her zaman negatif olmadığı önceden biliniyorsa, bunu işaretsiz olarak kabul etmek daha avantajlıdır.

Bir bilgisayardaki tam sayıların şu biçimde saklandığını söylüyorlar: sabit nokta.

Pozitif tam sayıların gösterimi . İşaretsiz bir tamsayının bilgisayar gösterimini almak için k-bit bellek hücresi, onu ikili sayı sistemine çevirmek ve elde edilen sonucu soldaki sıfırlarla tamamlamak yeterlidir. k deşarjlar. Yazabileceğimiz sayıların bir sınırı olduğu açıktır. k-bit hücre.

Temsil edilebilen maksimum sayı, hücrenin tüm basamaklarındakilere karşılık gelir (bir ikili sayı k birimler). İçin
k-bit gösterimi 2'ye eşit olacaktır k- 1. Minimum sayı, hücrenin tüm basamaklarında sıfırlarla temsil edilir, her zaman sıfıra eşittir. Aşağıdaki durumlarda imzasız gösterim için maksimum sayılar Farklı anlamlar k:

deşarj sayısı

Azami sayı

Tam sayıların işaretli temsili ile ileri, geri ve tamamlayıcı kodlar gibi kavramlar ortaya çıkar.

Hücrenin en önemli basamağının işarete atandığı, bilinen "işaret değeri" biçiminde bir sayının temsili, geri kalanı k - 1 basamak - aranan numaranın basamaklarının altında doğrudan kod .

Örneğin, sekiz bitlik bir hücre için 110012 ve –110012 ikili sayılarının doğrudan kodları eşittir ve sırasıyla. Pozitif tam sayılar, basit bir kod kullanılarak bir bilgisayarda temsil edilir. Negatif bir tamsayının iletme kodu, işaret bitinin içeriğindeki karşılık gelen pozitif sayının iletme kodundan farklıdır. Ancak, bir bilgisayar, negatif tam sayıları temsil etmek için doğrudan kod yerine tamamlayıcı kod kullanır.

İşaretli gösterimde yazılabilecek maksimum pozitif sayının k rakamlar 2'ye eşittir k–1–1, aynı dizideki işaretsiz gösterimdeki maksimum sayıdan neredeyse iki kat daha azdır. k deşarjlar.

Örnek

Sayıların işaretli sekiz ve on altı basamaklı gösterimlerinde maksimum pozitif sayıyı belirleyin.

Çözüm... 8 bitte maksimum pozitif sayı 127 (27 - 1), 16 bitte 32 - 1)'dir.

Örnek

Sayı 53 = 1101012 sekiz bitlik gösterimdedir.

16 haneli aynı 53 sayısı aşağıdaki gibi yazılacaktır:

Her iki durumda da, imzalı veya imzasız temsilin kullanılması önemli değildir.

Örnek

200 = için, böyle bir gösterimde izin verilen maksimum sayı 127 olduğundan, işaretli 8 bitlik bir gösterim mümkün değildir, ancak işaretsiz sekiz bitlik bir gösterimde, şuna benzer.

Geri ,ek numara kodları . Bir bilgisayarda negatif tamsayıları temsil etmek için, çıkarma işleminin aritmetik işlemini, hesaplama hızını önemli ölçüde artıran bir toplama işlemiyle değiştirmenize izin veren ek bir kod kullanılır. Ek kodun tanımını vermeden önce aşağıdaki önemli notu alıyoruz.

V k-bit tamsayılı bilgisayar aritmetiği 2 k ≡ 0.

Bu, 2 sayısının ikili gösterimi gerçeğiyle açıklanabilir. k bir birimden oluşur ve k sıfırlar ve bir hücreye k rakamlar sadece sığabilir k rakamlar, bu durumda yalnızca k sıfırlar. Bu durumda, anlamlı birimin bit ızgarasının ötesine geçtiğini söylüyorlar.

k-biraz ek kod negatif sayı T bir giriş mi k pozitif sayı 2 rakamları k– |t | nerede | t |- negatif sayı modülü T,|t |< 2k– 1.

Ek kodun neyi ve neyi tamamladığını bulalım. Negatif sayının tamamlayıcı kodu T Bu sayının modülünün eklenmesi 2'ye mi (veya k-bit aritmetiği):

(2k– |T|) + |T| = 2k ≡ 0.

Ek elde etmek için algoritma k-negatif bir sayının bit kodu:

1. Bir sayının modülü, doğrudan kod ile temsil edilir. k ikili rakamlar.

2. Tüm rakamların değerlerini ters çevirin (tüm sıfırları bir ve sıfırları ile değiştirin), böylece elde edin k-biraz ters kod orijinal negatif sayı.

3. Ortaya çıkan ters koda, şu şekilde yorumlanır: k-bit negatif olmayan ikili sayı, bir tane ekleyin.

Ters kod, orijinal sayının sayıya tümleyenidir.
2k– 1 oluşan k ikili olanlar. Bu nedenle, ters çevrilmiş koda bir tane eklemek, gerekli tamamlayıcı kodunu almanızı sağlar.

Örnek

Sekiz ve on altı basamaklı hücreler için -52 sayısının ek kodunu alıyoruz. Sekiz bitlik bir hücre için:

0011 0100 - numaranın doğrudan kodu | –52 | = 52;

1100 1011 - -52 sayısının ters kodu;

1100 1100, -52 sayısının ek kodudur. On altı bitlik bir hücre için: 0000 0000 0– doğrudan sayı kodu | –52 |;
1111 1111 1100 1011 - -52 sayısının ters kodu; 1111 1111 1100 1100 - -52 sayısının ek kodu.

4.5.4. Bilgisayarda sembolik bilgilerin temsili

Sembolik bilgi, bilgisayar belleğinde dijital bir kod şeklinde saklanır ve işlenir. Otomatik bilgi işlem cihazlarında ikili kodlar kullanıldığından, sembollere karşılık gelen sayısal kodlar ikili bir sisteme çevrilir.

Karakterleri (işaretleri) dijital koda dönüştürürken, karakter ve kod kümeleri arasında bire bir yazışma yapılmalıdır.

ABD Standardizasyon Enstitüsü tarafından tanıtılan ve fiili uluslararası standart haline gelen 8 bitlik sayılar için karakter kodlama tablosuna ASCII (Amerikan Bilgi Değişimi için Standart Kodu) denir.

ASCII tablosunun temel kısmı, 0'dan 127'ye kadar olan kodların değerlerini sabitler ve genellikle dünya çapında kabul edilir ve genişletilmiş kısım, 128'den 255'e kadar sayıları olan karakterlere atıfta bulunur.

Temel tablonun sıfırdan başlayarak ilk 32 kodu, herhangi bir dil karakterine karşılık gelmeyen kontrol kodları içerir ve buna bağlı olarak bu kodlar ekranda ve baskı cihazlarında görüntülenmez. 32'den 127'ye kadar olan kodlar İngiliz alfabesine, noktalama işaretlerine, aritmetik işlemlere ve bazı yardımcı karakterlere karşılık gelir.

Her ülke, ulusal alfabelerin harflerini, sözde grafik sembollerini ve bilimsel sembolleri içeren ASCII tablosunun kendi genişletilmiş bölümünü (128-255 kodları veya genişletilmiş ASCII kodları) kullanır. Rusya'da, tablonun genişletilmiş kısmı için KOI-8, Windows-1251, ISO vb. kodlamaları kullanılır, bu nedenle, bir kodlamada oluşturulan metinler başka bir kodlamada doğru şekilde görüntülenmez.

oluşturmadaki zorluklar birleşik sistem tüm dünya için veri kodlaması, sınırlı bir dizi koddan kaynaklanır. Açıkçası, karakterleri sekiz bitlik ikili sayılarla değil, büyük miktar rakamlar, daha sonra kodların olası değerlerinin aralığı çok daha büyük hale gelecektir. 16 bit karakter kodlamasına dayanan bu sisteme evrensel - UNICODE denir. On altı basamak, 216 = 65536 farklı karakter için benzersiz kodlar sağlamayı mümkün kılar - bu, dünyadaki dillerin çoğunu tek bir karakter tablosunda barındırmak için yeterlidir.

4.5.5. Kayan nokta gösterimi

Değerleri her zaman bir dizi tamsayı ile karşılaştırılan ve bu nedenle makinenin belleğinde kesinlikle tam olarak temsil edilen sıralı türlerin (tüm tamsayılar, sembolik, mantıksal) aksine, gerçek türlerin değeri yalnızca sayıyı belirler. gerçek sayının iç biçimine bağlı olarak bazı sonlu hassasiyetle ...

Kayan noktalı bir sayı yazmak çok etkili çareçok büyük ve çok küçük gerçek sayıların temsilleri, sınırlı sayıda anlamlı basamak içermeleri koşuluyla ve bu nedenle, tüm gerçek sayılar bellekte temsil edilemez. Tipik olarak, hesaplamalarda kullanılan anlamlı basamak sayısı öyledir ki, çoğu problem için yuvarlama hataları ihmal edilebilir.

herhangi bir gerçek sayı x, radix ile temsil edilir n, olarak yazılabilir

x = ± mN ± P,

nerede m- mantis; P- numara sırası.

Eğer | m| < 1, то запись числа называется нормализованной слева.

Aşağıdaki örnekler, herhangi bir sayının kayan nokta biçiminde nasıl temsil edilebileceğini gösterir:

a) ondalık gösterimde

372.95 = 0.37295 103;

25 = 0.025 · 103 = 0.25 · 102;

0.0000015 = 0.15 · 10–5 = 0.015 · 10–4;

b) ikili sayı sisteminde

11010.1101 = 0.26 = 0.25;

0.011011 = 0.11011 2-1;

0.1 = 0.1 20.

Burada sıra, mantisteki virgülün kaç konum ve hangi yöne kaydırılması gerektiğini belirler.

numara aranır sağa normalize mantisteki virgülden sonra sıfır olmayan bir değer varsa. Örneğin, sırasıyla 0.076 · 10-2 ve 0.011 · 2-2 biçiminde sunulan 0.0007610 ve 0 sayıları sağda normalize edilmez, ancak 0.76 · 10-3 ve 0.11 · 2-3 biçimindedir.

Şu anda dağıtılmış (açıklanmıştır IEEE standardı 754) ayrıca başka bir gösterim biçimi - ondalık sayının mantisinin 1'den (dahil) 10'a kadar değerler aldığı normalleştirilmiş
(dahil değil) ve ikili sayının mantisi 1'den (dahil) 2'ye (dahil değil) (1 ≤ mn). Bu formda herhangi bir sayı (0 hariç) benzersiz olarak yazılır. Dezavantajı, 0'ı bu biçimde temsil etmenin imkansız olmasıdır, bu nedenle bilgisayar biliminde sayıların temsili 0 sayısı için özel bir işaret (bit) sağlar.

Normalleştirilmiş biçimde bir ikili sayının (0 hariç) mantisinin en anlamlı biti (sayısının tamsayı kısmı) "1" e eşit olduğundan, o zaman bir sayının mantisi bir bilgisayarda yazarken, en anlamlı bit olabilir saklanan bilgi miktarını azaltmak için veya (aynı hacimde) sayı saklama doğruluğunu artırmak için kullanılan atlanabilir.

0 "style =" border-collapse: daralt; border: yok ">

önemli rakamlar

karakteristik

karakteristik üzerinde

X = 27 + p - 1

X = 210 + p - 1

X = 214 + p - 1

Bilgisayar belleğinde gerçek bir sayının makine temsilini oluşturmaya yönelik algoritma aşağıdaki noktalardan oluşur:

1. Sayı ikili kodda temsil edilir.

2. İkili sayı normalleştirilir. Bu durumda, birden büyük sayılar için, kayan nokta pozitif bir sıra tanımlayarak sola taşınır. Birden küçük sayılar için nokta sağa kaydırılarak negatif bir sıra tanımlanır.

3. Gerçek sayının türü dikkate alınarak tabloya göre özellik belirlenir.

4. Hafızada ayrılan alana sayının cinsine göre sayının mantisi, özelliği ve işareti yazılır. Bunu yaparken şunlara dikkat edilmelidir:

· Gerçek türündeki sayılar için, karakteristik, tek, çift, genişletilmiş - yüksek bayt türündeki sayılar için belleğin düşük baytında saklanır;

· Sayının işareti her zaman en anlamlı baytın en anlamlı bitindedir;

· Mantis her zaman doğrudan kodda saklanır;

· Gerçek, tek, çift gibi sayılar için mantisin ilk biti (normalleştirilmiş bir sayı için her zaman 1) saklanmaz (gizlenir). Genişletilmiş sayılarda, mantisin tüm rakamları bilgisayar belleğinde saklanır.

Makine veri gösteriminin formatı (örneğin, tek tip) aşağıdaki gibidir:

ml. bayt st. bayt

6– Bellek bitlerinin sayısı

m....m m....m NS m...m s NS...NS

nerede s- işaret biti;

NS- sayının özelliği;

m Normalleştirilmiş mantis.

Anahtar Kelimeler:

  • deşarj
  • işaretsiz tamsayı gösterimi
  • imzalı tamsayı gösterimi
  • gerçek sayıların temsili
  • kayan nokta biçimi

1.2.1. tamsayı gösterimi

Bilgisayar belleği, her biri kendi içinde olan hücrelerden oluşur. fiziksel sistem bir dizi homojen elemandan oluşur. Bu elemanların biri sıfıra, diğeri bire karşılık gelen iki kararlı durumu vardır. Bu tür öğelerin her biri, bitlerden birini - bir ikili sayının basamaklarını - saklamak için kullanılır. Bu nedenle her hücre elemanına bit veya deşarj denir (Şekil 1.2).

Pirinç. 1.2. hafıza hücresi

Tam sayıların bilgisayar gösterimi için, bit sayısı (8, 16, 32 veya 64 bit genellikle tamsayılar için tahsis edilir) ve bir işaret basamağının varlığı veya yokluğu bakımından birbirinden farklı birkaç farklı temsil kullanılır. İşaretsiz gösterim yalnızca negatif olmayan tam sayılar için kullanılabilir, negatif sayılar yalnızca işaretli biçimde gösterilir.

Bilgisayarda imzasız veriler yaygınlaştı. Bunlar arasında hücre adresleri, her türlü sayaç (örneğin metindeki karakter sayısı) gibi nesnelerin yanı sıra tarih ve saati belirten sayılar, boyutlar yer alır. grafik görüntüler piksel, vb.

Negatif olmayan bir tam sayının maksimum değerine, birimler hücrenin tüm basamaklarında depolandığında ulaşılır. n-bit gösterimi için 2 n -1'e eşit olacaktır. Minimum sayı, n bellek bitinde saklanan n sıfıra karşılık gelir ve sıfıra eşittir.

İşaretsiz n-bit tamsayılar için maksimum değerler şunlardır:

İşaretsiz bir tamsayının bilgisayar gösterimini elde etmek için, sayıyı ikili sayı sistemine dönüştürmek ve sonucu standart bit genişliğine soldaki sıfırlarla tamamlamak yeterlidir.

Örnek 1. Sekiz basamaklı gösterimde 53 10 = 110101 2 sayısı:

Aynı 53 sayısı on altı haneli olarak şu şekilde yazılacaktır:

Bir işaret ile temsil edildiğinde, en büyük (soldaki) rakam numaranın işaretine, kalan rakamlar numaranın kendisine atanır. Sayı pozitifse, sayı negatifse - 1 işaret bitine O yerleştirilir. Sayıların bu temsiline doğrudan kod denir. Bir bilgisayarda, pozitif sayılar üzerinde işlem yapmak için pozitif sayıları bellek cihazlarında saklamak için doğrudan kodlar kullanılır.

Federal Bilgi ve Eğitim Kaynakları Merkezi'nin web sitesi (http://fcior.edu.ru/) “Sayı ve bilgisayar kodu” bilgi modülünü içerir. Bu kaynak ile alabilirsiniz Ek bilgi incelenen konu hakkında.

Negatif sayılarla işlem yapmak için, çıkarma işlemini toplama ile değiştirmek için ek bir kod kullanılır. Federal Bilgi ve Eğitim Kaynakları Merkezi'nin (http://fcior.edu.ru/) web sitesinde yayınlanan “Ek kod” bilgi modülünü kullanarak ek kod oluşturma algoritmasını öğrenebilirsiniz.

1.2.2. Gerçek sayıların temsili

Herhangi bir gerçek A sayısı normal (bilimsel, üstel) biçimde yazılabilir:

А = ± m q p,

    m, sayının mantisidir;

    p sayının sırasıdır.

Örneğin, 472.000.000 sayısı şu şekilde temsil edilebilir: 47.2 10 7, 472 10 6, 4720 10 7, vb.

Bir hesap makinesi kullanarak hesaplama yaparken, aşağıdaki formdaki kayıtlar yanıt alındığında normal sayı yazma şekliyle karşılaşmış olabilirsiniz: 4.72E + 8.

Burada, "E" işareti, ondalık sayı sisteminin tabanını belirtir ve "on ile kuvvetin on ile çarpımı" olarak okunur.

Yukarıdaki örnekten, sayı kaydındaki virgülün konumunun değişebileceğini görebilirsiniz. Bu nedenle, gerçek sayıların bir bilgisayarda normal biçimde gösterimine kayan nokta gösterimi denir.

Tutarlılık için, mantis genellikle ondalık noktadan sonra sıfır olmayan bir rakamla normal bir kesir olarak yazılır. Bu durumda 472.000.000 sayısı 0.472 10 9 olarak temsil edilecektir.

Bir kayan noktalı sayı, bilgisayar belleğinde 32 veya 64 bit yer kaplayabilir. Bu durumda, rakamlar mantis işareti, düzen, düzen ve mantis işaretinin saklanması için tahsis edilir.

Gerçek sayıların temsil aralığı, sayının sırasını depolamak için tahsis edilen bitlerin sayısı ile belirlenir ve kesinlik, mantisi depolamak için tahsis edilen bitlerin sayısı ile belirlenir.

Yukarıdaki örnekte de görebileceğiniz gibi sayı sırasının maksimum değeri 111111 2 = 127 10'dur ve dolayısıyla sayının maksimum değeri:

0,11111111111111111111111 10 1111111

Bu değerin ondalık karşılığının ne olduğunu kendiniz bulmaya çalışın.

Bilimsel ve mühendislik problemlerini çözmek için çok çeşitli kayan nokta sayıları önemlidir. Aynı zamanda, kayan nokta formatında sayıları işlemeye yönelik algoritmaların, tam sayıları işlemeye yönelik algoritmalardan daha fazla zaman alıcı olduğu anlaşılmalıdır.

En önemli şey

Tam sayıların bilgisayar gösterimi için, basamak sayısı (8, 16, 32 veya 64) ve bir işaret basamağının varlığı veya yokluğu bakımından birbirinden farklı birkaç farklı yöntem kullanılır.

İşaretsiz bir tamsayıyı temsil etmek için, ikili sayı sistemine dönüştürülmeli ve soldan standart bit genişliğine sıfırlarla doldurulmalıdır.

Bir işaretle temsil edildiğinde, en önemli bit sayının işaretine, kalan basamaklar ise sayının kendisine atanır. Sayı pozitifse, o zaman işaret bitine 0 yerleştirilir, sayı negatifse, o zaman 1 olur. Pozitif sayılar bilgisayarda doğrudan kodda, negatif - tamamlayıcı olarak saklanır.

Bilgisayardaki gerçek sayılar kayan nokta biçiminde saklanır. Bu durumda, herhangi bir sayı aşağıdaki gibi yazılır:

А = ± m q p,

    m, sayının mantisidir;

    q - sayı sisteminin tabanı;

    p sayının sırasıdır.

Sorular ve görevler

  1. Bilgisayar belleğinde pozitif ve negatif tam sayılar nasıl temsil edilir?
  2. Herhangi bir tamsayı, gerçek bir sayı olarak kabul edilebilir, ancak sıfır kesirli kısmı vardır. Tam sayıların bilgisayar gösterimi için özel yöntemlere sahip olmanın tavsiye edilebilirliğini gerekçelendirin.
  3. 63 10 sayısını işaretsiz 8 bit biçiminde temsil edin.
  4. İşaretli 8 bit biçiminde yazılmış, doğrudan kodlarıyla sayıların ondalık eşdeğerlerini bulun:
  5. 443 8, 101010 2, 256 10 sayılarından hangisi 8 bit formatında kaydedilebilir?
  6. Aşağıdaki sayıları doğal biçimde yazın:

      a) 0.3800456 10 2;

      b) 0.245 10 -3;

      c) 1.256900E + 5;

      d) 9.569120E-3.

  7. 2010.0102 10 beş sayısını yazın Farklı yollar normal formda.
  8. Aşağıdaki sayıları normalleştirilmiş mantis ile normal biçimde yazın - ondalık noktadan sonra sıfır olmayan basamaklı normal bir kesir:

    a) 217.934 10;

    c) 0,00101 10.

  9. Bu paragrafta tartışılan temel kavramları birbirine bağlayan bir diyagram çizin.

§ 1.2. Bilgisayarda sayıları temsil etme

Sayıların bilgisayarda gösterimi. Sorular ve görevler

1. İçinde yer alan paragrafın sunum materyallerini okuyun. elektronik uygulama ders kitabına. Soruları yanıtlamanıza ve ödevleri tamamlamanıza yardımcı olması için bu kaynakları kullanın.

2. Bilgisayar belleğinde pozitif ve negatif tam sayılar nasıl temsil edilir?

3. Herhangi bir tamsayı gerçek olarak kabul edilebilir, ancak sıfır kesirli kısmı vardır. Tam sayıların bilgisayar gösterimi için özel yöntemlere sahip olmanın tavsiye edilebilirliğini gerekçelendirin.

4. 63 10 sayısını işaretsiz 8 bit biçiminde temsil edin.

5. İşaretli 8 bit biçiminde yazılmış, doğrudan kodlarıyla sayıların ondalık eşdeğerlerini bulun:

    a) 01001100;
    b) 00010101.

6. Hangi numaralar 443 8, 101010 2, 256 10 8 bit formatında kaydedilebilir?

7. Aşağıdaki sayıları doğal biçimde yazın:

    a) 0.3800456 10 2;
    b) 0.245 10 -3;
    a) 1.256900E + 5;
    a) 9.569120E-3.

8. 2010.0102 10 sayısını üstel gösterimde beş farklı şekilde yazınız.

9. Aşağıdaki sayıları, normalleştirilmiş mantis ile üstel biçimde yazın - ondalık noktadan sonra sıfır olmayan basamaklı normal bir kesir:

    a) 217.934 10;
    b) 75321 10;
    c) 0,00101 10.

10. Bu paragrafta tartışılan temel kavramları birbirine bağlayan bir diyagram çizin.

Cevaplar: Bilgisayarda sayıları temsil etme

    9.a) 0.217934 10 3; b) 0.75321 10 5; c) 0.101 10 -2.

Bilgisayar belleğindeki sayıları temsil etmek için iki ana biçim vardır, bunlardan biri tam sayıları kodlamak için kullanılır (sabit nokta biçiminde bir sayıyı temsil eder), ikincisi gerçek sayıların bir alt kümesini belirtmek için kullanılır (kayan noktalı bir sayıyı temsil eder) biçim). Biçimlerin her birini daha ayrıntılı olarak ele alalım.

1.1. tamsayı gösterimi

Herhangi bir tamsayı gerçek bir sayı olarak kabul edilebilir, ancak sıfır kesirli kısmı ile, yani bilgisayar belleğini verimli kullanmak için gerçek sayıların bir bilgisayarda temsili ve bunlar üzerinde aritmetik işlemlerin uygulanması ile sınırlı olabilir. , hesaplamaların hızını artırın ve bir tamsayı bölme işlemi tanıtın tamsayılar özel olarak tasarlanmış yollarla temsil edilir.

Tam sayıların bilgisayar gösterimi için, genellikle, ikili basamak sayısı ve bir işaret bitinin varlığı veya yokluğu bakımından birbirinden farklı olan birkaç farklı yöntem kullanılır.

Bir bilgisayardaki tamsayılar, bellekte şu şekilde saklanır: sabit nokta... Bu durumda, bellek hücresinin her biti her zaman aynı bite karşılık gelir ve "virgül" "virgül", en az anlamlı bitin sağ tarafında, yani bit ızgarasının dışındadır.

1.1.1. işaretsiz tam sayılar

Veri türü örneğini kullanarak işaretsiz tam sayıları kodlamayı düşünün bayt dilde Temel ve imzasız karakter dilde İLE BİRLİKTE++ bellekte bir bayt işgal ediyor.

Bir baytlık tamsayı negatif olmayan bir sayının bilgisayar (dahili) temsilini elde etmek için, onu bir ikili sayı sistemine çevirmek yeterlidir ve sayının doğrudan kodu olarak adlandırılan ortaya çıkan sonuç, soldaki sıfırlarla tamamlanır. sekiz bit'e kadar.

Minimum sayı, tüm basamaklarda sıfırlarla temsil edilir ve sıfıra eşittir. Gösterilen maksimum sayı, hücrenin tüm basamaklarındaki birlere (sekizden oluşan ikili bir sayı) karşılık gelir, 255'e () eşittir. Tek baytlık işaretsiz tam sayıların kodlanmasına ilişkin örnekler Tablo'da gösterilmektedir. 1.

Bir baytlık negatif olmayan tamsayılar, örneğin çeşitli sayaçları düzenlemek, hücre adreslerini, tarih ve saati ve piksel cinsinden grafik görüntülerin boyutunu kaydetmek için kullanılabilir.

Bir sayının dahili gösteriminin okunabilirliğini artırmak için onaltılık sayı sisteminde yazılır.

tablo 1

İşaretsiz tamsayıları kodlama örnekleri

1.1.2. işaretli tam sayılar

Örnek olarak veri türünü kullanarak işaretli tam sayıları kodlamayı düşünün tam sayı dilde Temel ve int dilde İLE BİRLİKTE++, bellekte iki bayt (16 bit) kaplar.

16 bitin her birinin belirli bir amacı vardır, işaretli bir tamsayıyı temsil etme şekli Şekil 1'de gösterilmiştir. 1. Hücrenin en önemli biti şu işaretin altına atanır: 0 - pozitif sayılar için, 1 - negatif olanlar için.

Bir bilgisayarda işaretli tamsayıları temsil etmek için, çıkarma işleminin aritmetik işlemini, hesaplama hızını önemli ölçüde artıran bir toplama işlemiyle değiştirmenize izin veren ek bir kod kullanılır.

Tamamlayıcı kodun ne olduğunu anlamak için ileri ve geri kodları düşünün.

Açıklama 1... Pozitif sayılar için, üç kodun tümü, on altı ikili basamak kullanarak sayının ikili gösterimiyle eşleşir ve boş basamaklara sıfırlar yazılır.

Pirinç. 1. İmzalı tamsayı formu

Düşünmek algoritma negatif bir sayının ek bir on altı bitlik ikili kodunun elde edilmesi.

1) Negatif bir sayının doğrudan kodunu 16 ikili basamakla yazın. Bunu yapmak için, negatif bir tamsayının modülü bir ikili sayı sistemine dönüştürülmeli ve soldan elde edilen sonuç, 16 bit'e sıfırlarla tamamlanmalıdır.

2) Negatif bir sayının ters kodunu 16 ikili basamakla yazın. Bunu yapmak için, doğrudan kodun tüm basamaklarının değerlerini ters çevirin (tüm sıfırları birlerle ve hepsini sıfırlarla değiştirin).

3) Negatif bir sayının tümleyen kodunu 16 ikili basamakla yazın. Bunu yapmak için, on altı bitlik negatif olmayan ikili sayı olarak kabul edilen ters koda bir tane ekleyin.

Açıklama 2... Negatif bir sayının ters kodu, bu sayının sayıya tümleyeninin modülüdür.
, ve tamamlayıcı kod numaraya bağlıdır
.

İki baytlık işaretli tam sayıların temsili örnekleri tabloda gösterilmiştir. 2.

İki bayt ile temsil edilebilecek en küçük negatif sayı –32768'dir.

Temsil edilebilen maksimum pozitif sayı, hücrenin tüm basamaklarındaki birlere (sıfır (işaret bitinde) ve on beşten oluşan ikili bir sayı) karşılık gelir, 32767'ye eşittir (
).

Tablo 2

İki baytlık işaretli tam sayıları temsil etme örnekleri


ENTEGRAL SAYILARIN TEMSİLİ Herhangi bir tamsayı, gerçek bir sayı olarak, ancak sıfır kesirli kısmı ile temsil edilebildiğinden, kendimizi gerçek sayıların bir bilgisayarda temsili ve bunlar üzerinde aritmetik işlemlerin uygulanması ile sınırlandırmak mümkün olacaktır. Bununla birlikte, belleğin verimli kullanımı için, hesaplamaların gerçekleştirilme hızının arttırılması, kalanlı bir tamsayı bölme işleminin başlatılması (pascal DIV ve MOD'da) Tamsayılar özel olarak tasarlanmış şekillerde temsil edilir.


Tamsayıları temsil etmenin özel yollarının getirilmesi, genellikle bir bilgisayarla çözülen problemlerde, birçok eylemin tamsayılar üzerindeki işlemlere indirgenmesi gerçeğiyle doğrulanır. Örneğin, verilerin hisse, çalışan, parça, araç vb. sayısı olduğu ekonomik nitelikteki problemlerde. tarih ve saati belirtmek için; çeşitli nesneleri numaralandırmak için: dizi öğeleri, veritabanı kayıtları, makine adresleri vb.




İMZASIZ BÜTÜNLÜ TEMSİL Tüm hücre basamakları sayının kendisine atanır bit ızgara basamakları Örnek: = Temsil edilen sayıların aralığı: A min = = 0 10 A maks = = 2 8 -1 = Aralık olarak pascal - BYTE tipi


2.16-bit ızgara basamakları Temsil edilen sayıların aralığı: A min = = 0 10 A maks = = = Aralık Pascal'da - WORD tipi bit ızgarası A min = 0 A maks = = bit ızgarası A min = 0 A maks = =


İŞARETLİ BÜTÜN NUMARA GÖSTERİMİ Rakam tablosunun en anlamlı basamağı işarete atanır: 0 - pozitif sayı için 1 - negatif sayılar için 1. 8 basamaklı ızgara basamakları Örnek: = Pozitif bir sayının işareti Örnek: = Bir sayının işareti negatif sayı


Temsil edilen sayıların aralığı: A maks = = 2 7 -1 = A min = pascal olarak - KISA bit ızgarası yazın A maks = = = A min = Pascal olarak - INTEGER yazın




Doğrudan makine kodu Bir sayının, n bitlik bir kelimenin ilk biti imzalandığında ve kalan n-1 bit, ikili sayı sistemindeki bir sayının dijital basamaklarını temsil ettiğinde, olağan "işaret değeri" biçiminde temsili, ikili sayının doğrudan kodu olarak adlandırılır. Bir tamsayının doğrudan kodu, sayının kendisinin bir bilgisayarın bit ızgarasına kaydedilmesiyle tamamen örtüşür. Bir tamsayının doğrudan kodu, sayının kendisinin bir bilgisayarın bit ızgarasına kaydedilmesiyle tamamen örtüşür. Negatif bir tamsayının yönlendirme kodu, işaret basamağının içeriğindeki karşılık gelen pozitif sayının yönlendirme kodundan farklıdır. Sekiz bitlik bir ızgarada X = ve Y = sayılarının doğrudan kodu şöyle görünür:


Doğrudan kodlar sisteminde sıfırın iki farklı gösterimi vardır: - pozitif 0; - eksi 0. Her iki temsil de tamamen eşittir. Doğrudan kod, pozitif ve negatif sayıları bellek cihazlarında saklamak ve aritmetik cihazlarda işlem yaparken pozitif sayıları temsil etmek için kullanılır.


Tamamlayıcı Ters Kodlar Tamamlayıcı ve Ters Kodlar Bilgisayarların aritmetik cihazlarının tasarımlarını basitleştirmek için, kural olarak tüm aritmetik işlemler toplamaya (çıkarma işlemi) veya bir dizi toplama ve kaydırmaya (çarpma ve bölme işlemleri) indirgenir. Bir bilgisayarda çıkarma işleminin (cebirsel toplama) aritmetik toplama ile değiştirilmesi, ters ve tamamlayıcı kodlar kullanılarak gerçekleştirilir. Pozitifin tümleyen kodu Pozitif sayının tümleyen kodu bu sayı ile aynıdır.


Özel kodların özünün açıklaması ... ... - + 3 basamaklı ondalık sayılar için bir ters sayaç örneğini ele alalım: 999 + 1 = 1000 - bit ızgarasının taşması! = - 999 sayacına göre - kod -1! 000 a + (-a) = (-005) = = - sayının ek kodu - 2 = 5 + (-2) = = - 5 = 7 + (-5) = = Taşma birimini düşünürsek Halkadaki belirsizliği ortadan kaldırmak için durumların yarısını (0-499) sıfır ve pozitif sayıların kodları ve kalan yarısını () negatif sayıların kodları olarak ele alacağız.


Negatif bir sayı için tamamlayıcı kod Negatif bir sayı için tamamlayıcı kod, değerinin, bit ızgarası qn'yi aştığında oluşan sayıya tümleyenine eşittir; burada q, sayı sisteminin tabanıdır, n, içindeki bitlerin sayısıdır. bit ızgarası. qn - ek bir kodun oluşturulması için bir sabit olarak adlandırılır İşlem C = A - B, burada A ve B herhangi bir sayı sisteminde pozitif tam sayılardır, şu şekilde temsil edilebilir: C = A - B = A + (-B) = A + (-B ) + qn - qn = A + (qn - B) - qn А - ilk terim tamamlayıcı kod qn - В - sayının ek kodu –В (ikinci terim) qn - taşma birimini ortadan kaldıran sabit


Örnek. A = 95 10, B = 43 10, n = 2. C = AB'yi bulun. [-B dk] = 100 - 43 = 57 C = 95 + [-B dk] - 100 = - 100 = 152 - 100 = 52 Toplamın en anlamlı basamağında bulunan birimin üzeri basitçe çizilebilir. Çıkarma kullanmadan X'ten qn'ye keyfi bir sayının tümleyenini elde etmenin bir yolunu bulmak gerekir: C = A - B = A + (-B) = A + (-B) + qn - qn = A + (qn -1- B) - qn + 1 İfade qn - 1 - B, B sayısının her basamağını q –1 basamağının tümleyeni ile değiştirerek elde edilen B sayısını belirler. Yani, = = 999. Ters B koduna B sayısının ters kodu denir; q n -1 ters kodun oluşumu için sabittir


Ters koddan ek bir kod elde etmek kolaydır: B + B = qn -1 qn - B = B + 1 Ters kodun ek kodu Ek kod, ters kodun en az anlamlı bitine bir eklenerek elde edilir. . Bu nedenle, ikili sayıların tümleyeni, çıkarma işlemi atlanarak bulunabilir. Geri kodda, ileri kodda olduğu gibi, negatif ve pozitif sıfır vardır. Yalnızca in'in ikisinin tamamlayıcı kodunun tek bir gösterimi vardır. Bit ızgarasının belirli bir uzunluğu için, tamamlayıcı kod, pozitif olanlardan bir tane daha negatif sayıyı temsil eder. A'dan [A pk], [A ok], [A dk]'ya kadar olan sayıların doğrudan, ters ve ek kodlarını belirtmeyi kabul ediyoruz.


Örnek. A = 34 ve B = [A pk] =, [A ok] =, [A dk] = [V pk] =, [V ok] =, [V dk] = sayılarının ileri, geri ve ek kodlarını bulun Negatif bir sayının tamamlayıcı kodunu elde etmek için algoritma. 1. Bir sayının modülü, k ikili basamakta doğrudan kodla temsil edilir. 2. Tüm bitlerin değerlerini ters çevirin: tüm sıfırları birlerle ve olanları sıfırlarla değiştirin (böylece orijinal sayının k-bit ters kodu elde edilir); 3. Alınan ters koda, k-bit negatif olmayan ikili sayı olarak yorumlanır, bir tane ekleyin.


Örnekler 1. Negatif bir tamsayı ondalık sayı verildi M = -20. İkili ve onaltılık gösterimlerde 16 bitlik bir kılavuzda bir makine kod numarasını temsil eder. M = -20 = 2 = 2 = 2 = 16 = FFEC


2. Onaltılık ikili makine kodu biçiminde bir tamsayı verilir. Bu sayının ondalık değerini belirleyin: Ka = FFD4 F'nin ilk basamağı, bu nedenle sayı negatiftir ve bilgisayarda ek makine kodu şeklinde saklanır. FFD4 16 = [dk] [ok] - sayının ters kodu PC = [pc] - ileri ikili kod sayılar O zaman ondalık sayı a = = - (32 + 8 + 4) = -44 - ondalık sayı


Yöntem 2: onaltılık sayı sistemi aracılığıyla K a = FFD4


Tam sayıların makine kodları üzerindeki eylemler Verilen: ondalık sayılar A = 34 ve B = 30 Bul: 8 bitlik bir ızgaradaki ikili makine kodlarında A + B, A - B, B - A. = [A tamam] = [A dk] = [-A pc] = [-A tamam] = [-A dk] = [-B pc] = [-V ok] = [-V dk] = [V pc ] = [V ok] = [V dk] =


[A + B] DK = = A + B = 64 [A - B] DK = = A - B = 4 [B - A] DK = =


Sabit noktalı sayıların makine kodları üzerindeki eylemler (onaltılık gösterimde) Verilen: ondalık sayılar A = 34 ve B = 30 Bul: A + B, A - B, B - A 16 bitlik bir ızgarada onaltılık makine kodları . .. 1) A = 34 = 22 16 V = 30 = 1E 16 adet = PC = 001E 16 KA + KB = E = A + B = = 64 2) PC = 801E 16 DC = E 16 = FFE2 16 KA + KB = FFE2 = A - B = = 4




Modern bilgisayarlarda, bir sayının makine biçimi, sıranın kendisini değil, sayının bir özelliği olan önyargılı değerini depolar. Bu, sipariş işaretini korumamak ve dolayısıyla siparişler üzerindeki işlemleri kolaylaştırmak için yapılır; temsil edilen sayıların aralığını arttırın ... Mantis karakteristik mantisin işareti Normalleştirilmiş mantis her zaman bir tamsayı biti 0'a sahiptir ve bu nedenle, bu 0 bilgisayarın belleğinde saklanmaz, sadece ima edilir. Bu kullanışlı teknik çözüm, basamak sayısını ve dolayısıyla hesaplamaların doğruluğunu artırmanıza olanak tanır.


Örnekler Gerçek sayıları, 16 s / s'de 32 bitlik bir ızgarada kayan noktalı sayıların makine kodları olarak temsil edin: a) A = 32008.5 b) B =, 5 c) C = 15 d) D = Normalleştirilmiş mantisi ve özellikleri bulalım a ) A = 32008.5 = 7D08.8 16 = 0.7D m A = 0.7D088p xA = 4 + 40 = 44 16 = İşaret- 0 Karakteristik Mantis'in kesirli kısmı Normalleştirilmiş mantis Karakteristik KA = = = 43FA> 0 0">


B) B =, 5 = -7D08.8 16 = - 0.7D m B = -0.7D088p xB = 4 + 40 = 44 16 = İşaret - 1 Karakteristik Mantis'in kesirli kısmı Normalleştirilmiş mantis Karakteristik K B = = = C3FA


0 14 16 c) D = - = - 0.9 16 m B = 0.9 16 p xB = 40 + 0 = 40 "başlık =" (! LANG: c) C = 15 = F, E 16 mc = 0 , FE 16 p xA = 40 + 1 = 41 16 İşaret- 0 Karakteristik- 1000001 Kesirli kısım- 1111 1110 0000 0000 0000 0000 mantis KC = 0.1000001.1111 1110 0000 0000 0000 0000 2 = = 41FE0000 16> 0 14 16 c) D = - = - 0,9 16 m B = 0,9 16 p xB = 40 + 0 = 40" class="link_thumb"> 28 !} c) C = 15 = F, E 16 mc = 0, FE 16 p xA = 40 + 1 = 41 16 İşaret - 0 Karakteristik Mantisin Kesirli kısmı KC = = = 41FE> c) D = - = - 0.9 16 m B = 0.9 16 p xB = 40 + 0 = 40 16 İşaret- 1 Mantisin karakteristik kesirli kısmı KD = = C 0 14 16 c) D = - = - 0.9 16 m B = 0.9 16 p xB = 40 + 0 = 40 "> 0 14 16 c) D = - = - 0.9 16 m B = 0.9 16 p xB = 40 + 0 = 40 16 İşaret- 1 Karakteristik- 1000000 Kesirli kısım- 1001 0000 0000 0000 0000 0000 mantis KD = 1.10000000.1001 0000 0000 0000 0000 0000 2 = C0900000 16 0 14 16 c) D = - = - 0,9 16 m B = 0,9 16 p xB = 40 + 0 = 40 "başlık =" (! LANG: c) C = 15 = F, E 16 mc = 0, FE 16 p xA = 40 + 1 = 41 16 İşaret- 0 Karakteristik- 1000001 Kesirli kısım- 1111 1110 0000 0000 0000 0000 mantis KC = 0.1000001.1111 1110 0000 0000 0000 0000 2 = = 41FE0000 16> 0 14 16 c) D = - = - 0,9 16 m B = 0,9 16 p xB = 40 + 0 = 40"> title="c) C = 15 = F, E 16 mc = 0, FE 16 p xA = 40 + 1 = 41 16 İşaret- 0 Karakteristik- 1000001 Kesirli kısım- 1111 1110 0000 0000 0000 0000 mantis KC = 0.10000011.1111 1110 0000 0000 0000 0000 2 = = 41FE0000 16> 0 14 16 c) D = - = - 0,9 16 m B = 0,9 16 p xB = 40 + 0 = 40">!}


Üstel biçimde temsil edilen sayılar üzerindeki eylemler 1. Üstel biçimdeki sayılar, normalleştirilmiş mantislerle doğrudan kodda bellekte saklanır. 2. Kodların eklenmesi, yalnızca terimlerin aynı sıraları (özellikleri) için mantis eklenerek gerçekleştirilir. En yüksek sıra, ortak olan için seçilir. 3. Cebirsel toplama işlemi için algoritmalar, özelliklerin eşitlenmesinden sonra terimlerin işaretlerine bağlıdır. 4. Düz koddaki sonuçlar normalleştirilir.


Örnekler 32 bitlik bir ızgarada kayan noktalı A ve B sayılarının makine kodlarının toplama işlemini gerçekleştirin. Cevap olarak, sonuç kodunu (2. ve 16. s / s'de) ve karşılık gelen ondalık sayı 1) yazın KA = 43.F34000K B = C1.A13000 a) m A = 00.F34m B = 00.A13 P Ax = 43P Bx = 41 => P = 2 => m B = 00.00A13 - PC _ A13 FF.FF5ED b) m A + m B = 00.F34 FF.FF5ED 100.F29ED> 0 => m A + B = 00.F29ED P = 2 => m B = 00.00A13 - PC _100.000000 00.00A13 FF.FF5ED b) m A + m B = 00.F34 FF.FF5ED 100.F29ED> 0 => m A + B = 00.F29ED " >


P A + B = 3A + B = 0.F29ED = F29, ED 16 = / 16 + 13/256 = / 256 K A + B = = = 43.F29ED0