00000000 binary sayısının soruda 2's complement isteniyor ben 100000000 sonucunu buluyorum yani 9 digit fakat cevap anahtarında 00000000 sonucu yazıyor bununla ilgili nasıl bir kural var ? 9 digit'i neden atıyoruz ? Binary sistemde toplama çıkarma işlemlerinin sonucu en fazla ve en az kaç basamaklı çıkar ?
Diğer sorum 11010-1101= ? bu işlemi 2's complement olarak yapmam isteniyor. Ben -00011 sonucunu buldum cevap anahtarı 01101 olduğunu söylüyor.
Bir de mesela 10 tabanında 10 ile 10 tabanında A farklı şeylerdir değil mi ? Biz 10 tabanında 10 yazabiliriz ama 10 tabanında A yazamayız çünkü 10 tabanı 0'dan 9'a kadardır A dahil değildir. Bu kısmı doğru düşünüyorum değil mi ?
Bir bit için konuşursak
0'ın 2'li complementi 0 değil 2 dir. Fakat 2 sayısı bir bitlik alana sığmaz. Sığan kısım 0 dır. Taşan kısım C içindedir.
Sen C değerini dahil etsen de etmesende sonuç değişmez. Çünkü 2'li eşlenikle yapılan hesaplarda C biti görmezden gelinir. (Overflow durumu istisna durum)
8 bit alana yerleşen 0 sayısının 2 li komplementi artık 256-sayı olarak hesaplanır ve bu 256 dır.
Yani senin bulduğun gibi 100000000
Fakat bu 8 bite sığmaz. Sığan kısmı 00000000 taşan kısmı ise C içindedir.
1'in 2 li komplementi 1 i 2'ye tamamlayan sayı demektir ve bu sayı 1 dir.
0'ın 2'li komplementi 2 dir. Fakat bu sayıyı 1 bit için konuşursak 0'dır. C=1 dir.
Sorunun cevabı 2'li complement alıp toplama yoluyla çıkartma işlemi hesabında neden cary atılır sorusu ile aynı.
Alıntı Yap11010-1101= ? bu işlemi 2's complement olarak yapmam isteniyor.
11010 - 01101 işlemi yapılacak.
01101 2'li eşleniği 10011 dir.
11010 + 10011=101101
En soldaki bit atılırsa 01101 buluruz.
Alıntı YapBir de mesela 10 tabanında 10 ile 10 tabanında A farklı şeylerdir değil mi ? Biz 10 tabanında 10 yazabiliriz ama 10 tabanında A yazamayız çünkü 10 tabanı 0'dan 9'a kadardır A dahil değildir. Bu kısmı doğru düşünüyorum değil mi ?
10 tabanında A diye bir şey yok. Çünkü tüm rakamlarımız 0...9 dan ibaret.