program yazarken karşılaştığımız problemler

Başlatan temha, 01 Mart 2004, 11:04:10

temha

while

i<1000
i=i+1
...
...
...
secim=dig1
vend

böylebir programda şu mokta da takıldım i registerindaki değerin binariy karşılığının 1. dijitini seçmek istiyorum bu

nasıl olur
sayıların tek veya çiftmi olduğunu ayırmak istiyorum
decimel 1000 değerinin binary karşılığını mı yazmam gerkiyor yada bunun basit bir yolu varmı.

Erkan Gench

burada mantıksal işlemleri kullanmalısınız. diyelimki registerde 10001101 değeri olsun bu sayıyı binary 00000001 sayısıyla

and'lerseniz sayılar bit bit karşılaştırılacak ve her ikiside 1 olan değerler 1 olarak kalırken diğerleri 0 olacak yani yukarıdaki işlemi yaparsanız sonuç 00000001 olur eğer 1. bit sıfır olsaydı yani

10001100 olsaydı sonuçta 00000000 olurdu.

sonucun 0 mı 1 mi olduğuna göre 1. bitin 0 mı 1 mi olduğunu anlarsınız. picbasicten anlamadığımdan dolayı komutları veremiyorum ancak

mantık bu.
Zorluklar, zamanında yapmamız gerekip de yapmadığımız kolay şeylerin birikmesiyle oluşur. Henry Ford ----------- Ya Rabbi Filistin'deki ve dünyanın her tarafındaki Müslüman kardeşlerime yardım et.

temha

çok teşekkür ederim istediğib cevap bu değildi ama güzel bir mantık gösterdin.

birumher

sayının çift mi tek mi olduğunu modulünü alarak bulabilirsin

X mod 2 (Basicte galiba // olarak

kullanılıyor)

yani X // 2

X i 2 ye böldüğümüzde kalanı verir eğer kalan 1 ise sayı tektir değilse çift...
Birkan.Herguner