Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Merhaba arkadaşlar. Çok uzun süredir birşeyler karalamadığım sayfama ahde vefa göstermek adına, geçenlerde uğraşarak oluşturduğum basit bir sayı tabanı çevirme betiğini yazayım dedim. Umarım buna ihtiyacı olanlar vardır ve benim bu naçizane betiğim sizlerin işini görür.
Betiğimiz aşağıda, kodlarımızın önündeki açıklamalar ile hangi kod ile ne yapıldığını daha iyi anlayabilirsiniz.
Önce bir formumuz var.
Şimdi de php kodlarımız:
Herhangi bir eksiğini görmedim, girdiğim sayıları doğru bir şekilde 2'lik tabana çevirdi. Eğer siz bir yanlışını görürseniz bana bildirin, icabına bakalım
Betiğimiz aşağıda, kodlarımızın önündeki açıklamalar ile hangi kod ile ne yapıldığını daha iyi anlayabilirsiniz.
Önce bir formumuz var.
PHP:
<form method="post"> Çevirmek istediğiniz sayıyı giriniz<br> <input type="text" name="sayi"> <input type="submit" value="Hesapla!"> </form>
PHP:
function taban10to2($sayi) { // sayımızı girip işlem yaptıracağımız bir fonksiyon oluşturuyoruz.
while($sayi>1) { // 2'lik tabana çevirdiğimiz için sayımız 1'den büyük olduğu sürece döngümüzün devam etmesini sağlıyoruz.
$kalan[] = $sayi%2; // sayımızın 2'ye bölümünden kalanları bir diziye atıyoruz.
$sayi = $sayi/2; // sonra sayımızdan kalan bölümü tekrar $sayi değişkenine atıyoruz.
}
echo "Sayının ikilik tabandaki karşılığı: ";
for($a=count($kalan);$a>=0;$a--) { // dizimizin elemanlarını tersten yazdırdık. hatırlarsanız matematikte taban işlemlerini yaparken sayıyı 1 veya 0 olana kadar 2'ye bölüyorduk ve sonra kalanları tersten yazıyorduk.
echo @$kalan[$a];
}
}
if(empty($_POST['sayi'])) { // eğer kutucuğa sayı yazılmadan basılırsa...
echo "Bir sayı girmelisiniz.";
} elseif($_POST['sayi'] >= 0 && $_POST['sayi'] < 2) { // eğer kutucuğa basılan sayı 0 ya da 1 ise...
echo "Sayının ikilik tabandaki karşılığı: ".$_POST['sayi'];
} elseif($_POST['sayi'] == 2) { // eğer kutucuğa girilen sayı 2 ise...
echo "Sayının ikilik tabandaki karşılığı: 10";
} else { // kutucuğa girilen sayı 0 1 ve 2'den farklı ise...
$sayi = $_POST['sayi'];
taban10to2($sayi); // fonksiyonumuzu çalıştırıyoruz..
}
Herhangi bir eksiğini görmedim, girdiğim sayıları doğru bir şekilde 2'lik tabana çevirdi. Eğer siz bir yanlışını görürseniz bana bildirin, icabına bakalım