Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
749
Tıklama
0
Öne Çıkarma
Kayan noktalı sayı ve İkiye Tümleyen Basit 2 Soru
B
4 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar alttan aldığım dersin quizinde çıkan 2 soru yanlış çıktı,doğru cevabı bulamadım.
1-İkinin tümleyeni gösteriminde 4-bitlik desenle temsil edilen 0100 ve 0110 sayılarının toplamının ondalık sistemdeki karşılığı kaçtır?
2-1-byte'lık (8-bitlik) kayan nokta gösteriminde (floating-point notation) 2.625 sayısının karşılığı nedir?

2.soruya 0 100 0101 dedim ancak yanlış gösterdi,1-3-4 olarak düşündüm SEM kısmını
Teşekkürler.



T
4 yıl
Binbaşı

İlk soru 10 olmuyor mu? Temsil edilen sayılar 4 ve 6 olarak düşündüm ama.



E
4 yıl
Yüzbaşı

1. -6
2. 2625 8 bite sığarmı ki?


Bu mesaja 1 cevap geldi.
B
4 yıl
Yüzbaşı
Konu Sahibi

İlk soru 10 değil hocam -6 yı denerim ikide ise sığıyor sanırım soruda hata yoktu



< Bu ileti mobil sürüm kullanılarak atıldı >

B
4 yıl
Yüzbaşı
Konu Sahibi

Hocam -6 doğru çıktı çözümü nasıl acaba ?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @EmuDev
E
4 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Basketball is my life

Hocam -6 doğru çıktı çözümü nasıl acaba ?
"İkinin tümleyeni gösteriminde" diyor, yani sayı 4 bit işaretli (signed) sayıymış. İşaretsiz olsaydı 4 bit 0 - 15 arasındaki sayıları tutabilirdi ancak işaretli olunca -8 - +7 aralığını kapsar sadece. İşaretli sayılarda en soldaki (msb) biti sayının işareti gösterir.

0100 -> İşaret biti 0, pozitif
0110 -> Bu da pozitif
---------
1010 -> İşaret biti 0'dan 1'e döndü, yani OVERFLOW oldu. Bunun anlamı sonuç 4 bit ile ifade edilemez demek. Normalde sonuç 10 olması gerekirken bu sayı işaretli 4 bite sığmadığından -6 hatalı sonucunu alırız.



E
4 yıl
Çavuş

bu işaretli sayılarda en sol bit negatif diğerleri pozitifdir yani şöyle diyelim

1001

en sol baş -8
en sağ baş +1
sonuç -> 1-8 = 7 eder.


kesirli sayılara gelince, ben hiç 8 bit kesirli sayı görmedim ama mini float diye bir şey varmış. Biçimi aşağıdaki şekilde

0 0000 000

burada ilk bit sign, 0 yazarsan sayı pozitif, 1 yazarsan negatif. ister kesirli ister işaretli tam sayı olsun fark etmez, en sol biti 1 olan bütün sayılar negatiftir.
diğer 4 bit exponent yani ikinin üssü
sondaki 3 bit mantissa yani küsurattan sonrası

bilgisayarda kesirli sayılar bilimsel formatta yazılır, şu avagadro sayısı vardıya 6.02 x 10^23 şeklinde yazılan, hah işte bilgisayarda da bu şekildeler burada gördüğün 23 ü üs kısmına 6.02 yi ise mantisaya yazacaksın. Aslında sadece virgülden sonrasını çünkü, virgülden önceki rakam gizli olarak mevcut bir 1 sayısı

peki nasıl yazacaz. Önce sayımızı alalım 2.625 bu sayı ikilik sistemde 10.101 ama biz ne dedik bu sayı bilimsel formatta olacak yani virgülün solunda sadece tek sayı olabilir. Peki ozaman bu sayıyı şu şekilde yazalım

2^1 x 1.0101

işte bilimsel format! şimdi bunu kesirli sayı yapalım.

işaretimiz nedir? pozitif o zaman ilk bit sıfır

0

ikinin üsssü kaç? e o da bir o zaman takip eden 4 bitin değeri bir olmalı(kendi başına hesaplandığında)
0 0001

bu kesirli sayılarda 1 den daha küçük ifadeleri elde edebilmek için ikinin negatif üslerini kullanmalısınız, bu yüzden bilgisayar belirli bir miktarı üs kısmından çıkaracaktır, 32 bit kesirli sayılar için bu 127, 8 bit için ise 2 imiş(vallahi wikipedia nın yalancısıyım). Bu yüzden exponent kısmına iki ekleyelim.

0 0011

peki virgülden sonra ne görüyoruz? 0101 görüyoruz, e onu da ekleyelim

0 0011 010 1

işte 8 bit kesirli sayı! derkeeen... DURUN! sondan 1 bit fazla! maalesef ki onu kırpıp atacağız, 8 bitlik kesirli sayılarda 2 ile 4 arasındaki sayıların üssü 1 olacağından

2^1 x 2^-3 = 2^-2 = 0.25 olduğundan

2 ile dört arasındaki epsilon 0.25 tir ve iş bu gerekçe ile bundan daha küçük sayılar ifade edilemez.

0 0011 010

ise bize 2.5 sayısını verir. umarım yanlışım yoktur. hadi kolay gelsin.





< Bu mesaj bu kişi tarafından değiştirildi eserb -- 11 Kasım 2019; 19:30:12 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.