Şimdi Ara

Kayan noktalı sayı ve İkiye Tümleyen Basit 2 Soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
407
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 2 yıl
  • Cevaplayan Üyeler 4
  • Konu Sahibinin Yazdıkları 3
  • Ortalama Mesaj Aralığı 1 gün 16 saat 41 dakika
  • Son 1 Saatteki Mesajlar 1
  • Haberdar Edildiklerim (Alıntılar) 2
  • Konuya En Çok Yazanlar
  • Basketball is my life (3 mesaj) EmuDev (2 mesaj) eserb (1 mesaj) Therocqula (1 mesaj)
  • Konuya Yazanların Platform Dağılımı
  • Masaüstü (6 mesaj) Mobil (1 mesaj)
  • @
0 oy
Öne Çıkar
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> Kayan noktalı sayı ve İkiye Tümleyen Basit 2 Soru
Sayfaya Git:
Sayfa:
1
Giriş
Mesaj
  • Yüzbaşı
    489 Mesaj
    Konu Sahibine Özel
    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.



    |
    |
  • Binbaşı
    1097 Mesaj
    İlk soru 10 olmuyor mu? Temsil edilen sayılar 4 ve 6 olarak düşündüm ama.
    |
    |
  • Teğmen
    184 Mesaj
    1. -6
    2. 2625 8 bite sığarmı ki?
  • Yüzbaşı
    489 Mesaj
    Konu Sahibine Özel
    İ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ı >
    |
    |
  • Yüzbaşı
    489 Mesaj
    Konu Sahibine Özel

    Hocam -6 doğru çıktı çözümü nasıl acaba ?
    |
    |
    EmuDev kullanıcısının, bahsedilen mesajını gör
  • Teğmen
    184 Mesaj
    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.
    |
    |
  • Çavuş
    78 Mesaj
    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 >
    |
    |




Sayfaya Git:
Sayfa:
1
Reklamlar
valorant vp
valorant points
Webtures SEO;SEO Nedir?
takipçi satın al
Bu sayfanın
Mobil sürümü
Mini Sürümü

BR2
0,234
1.2.165

Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.