Cevaplar

2012-12-01T20:50:38+02:00
İkili sayı sistemi

Günlük hayatta kullandığımız onlu sayı sisteminde 10 rakam vardır: 0123456789. Bilgisayar donanımlarında kullanılan ikili sayı sisteminde ise iki rakam vardır: 0 ve 1. Bu, bitin iki değer alabilmesinden gelir. Bitler örneğin üç farklı değer alabilseler, bilgisayarlar üçlü sayı sistemini kullanırlardı.

Günlük hayatta kullandığımız sayıların basamakları birler, onlar, yüzler, binler, vs. diye artarak adlandırılır. Örneğin 1023 gibi bir sayı şöyle ifade edilebilir:

1023 == 1 adet 1000, 0 adet 100, 2 adet 10, ve 3 adet 1

Dikkat ederseniz, sola doğru ilerlendiğinde her basamağın değeri 10 kat artmaktadır: 1, 10, 100, 1000, vs.

Aynı tanımı ikili sayı sistemine taşıyınca, ikili sistemde yazılmış olan sayıların basamaklarının da birler, ikiler, dörtler, sekizler, vs. şeklinde artması gerektiğini görürüz. Yani sola doğru ilerlendiğinde her basamağın değeri 2 kat artmalıdır: 1, 2, 4, 8, vs. Örneğin 1011 gibi bir ikilisayı şöyle ifade edilebilir:

1011 == 1 adet 8, 0 adet 4, 1 adet 2, 1 adet 1

Basamaklar numaralanırken; en sağdaki, yani en düşük değerli olan basamağa 0 numaralı basamak denir. Buna göre, ikili sayı sisteminde yazılmış olan 32 bitlik işaretsiz bir değerin bütün basamaklarını ve basamak değerlerini şöyle gösterebiliriz:

BasamakDeğeri31 2,147,483,648 30 1,073,741,824 29 536,870,912 28 268,435,456 27 134,217,728 26 67,108,864 25 33,554,432 24 16,777,216 23 8,388,608 22 4,194,304 21 2,097,152 20 1,048,576 19 524,288 18 262,144 17 131,072 16 65,536 15 32,768 14 16,384 13 8,192 12 4,096 11 2,048 10 1,024 9 512 8 256 7 128 6 64 5 32 4 16 3 8 2 4 1 2 0 1

Yüksek değerli bitlere üst bit, düşük değerli bitlere alt bit denir.

İkili sistemde yazılan değerlerin 0b ile başladıklarını Hazır Değerler dersinde görmüştük. İkili sistemde değerler yazarak bu tabloya nasıl uyduklarına bakabiliriz. Okumayı kolaylaştırmak için alt çizgi karakterlerinden de yararlanarak:

import std.stdio; void main() { // 1073741824 4 1 // ↓ ↓ ↓ int sayı = 0b_01000000_00000000_00000000_00000101; writeln(sayı); }

Çıktısı:

1073741829

Dikkat ederseniz, o hazır değerin içinde rakamı 1 olan yalnızca 3 adet basamak vardır. Yazdırılan değerin bu basamakların yukarıdaki tablodaki değerlerinin toplamı olduğunu görüyoruz: 1073741824 + 4 + 1 == 1073741829.

 

alıntı

0
  • Eodev Kullanıcısı
2012-12-01T20:57:34+02:00

bu soruda ikli sistem vardır

    İkili sayı sistemi

Günlük hayatta kullandığımız onlu sayı sisteminde 10 rakam vardır: 0123456789. Bilgisayar donanımlarında kullanılan ikili sayı sisteminde ise iki rakam vardır: 0 ve 1. Bu, bitin iki değer alabilmesinden gelir. Bitler örneğin üç farklı değer alabilseler, bilgisayarlar üçlü sayı sistemini kullanırlardı.

Günlük hayatta kullandığımız sayıların basamakları birler, onlar, yüzler, binler, vs. diye artarak adlandırılır. Örneğin 1023 gibi bir sayı şöyle ifade edilebilir:

1023 == 1 adet 1000, 0 adet 100, 2 adet 10, ve 3 adet 1

Dikkat ederseniz, sola doğru ilerlendiğinde her basamağın değeri 10 kat artmaktadır: 1, 10, 100, 1000, vs.

Aynı tanımı ikili sayı sistemine taşıyınca, ikili sistemde yazılmış olan sayıların basamaklarının da birler, ikiler, dörtler, sekizler, vs. şeklinde artması gerektiğini görürüz. Yani sola doğru ilerlendiğinde her basamağın değeri 2 kat artmalıdır: 1, 2, 4, 8, vs. Örneğin 1011 gibi bir ikilisayı şöyle ifade edilebilir:

1011 == 1 adet 8, 0 adet 4, 1 adet 2, 1 adet 1

Basamaklar numaralanırken; en sağdaki, yani en düşük değerli olan basamağa 0 numaralı basamak denir. Buna göre, ikili sayı sisteminde yazılmış olan 32 bitlik işaretsiz bir değerin bütün basamaklarını ve basamak değerlerini şöyle gösterebiliriz:

BasamakDeğeri31 2,147,483,648 30 1,073,741,824 29 536,870,912 28 268,435,456 27 134,217,728 26 67,108,864 25 33,554,432 24 16,777,216 23 8,388,608 22 4,194,304 21 2,097,152 20 1,048,576 19 524,288 18 262,144 17 131,072 16 65,536 15 32,768 14 16,384 13 8,192 12 4,096 11 2,048 10 1,024 9 512 8 256 7 128 6 64 5 32 4 16 3 8 2 4 1 2 0 1

Yüksek değerli bitlere üst bit, düşük değerli bitlere alt bit denir.

İkili sistemde yazılan değerlerin 0b ile başladıklarını Hazır Değerler dersinde görmüştük. İkili sistemde değerler yazarak bu tabloya nasıl uyduklarına bakabiliriz. Okumayı kolaylaştırmak için alt çizgi karakterlerinden de yararlanarak:

import std.stdio; void main() { // 1073741824 4 1 // ↓ ↓ ↓ int sayı = 0b_01000000_00000000_00000000_00000101; writeln(sayı); }

Çıktısı:

1073741829

Dikkat ederseniz, o hazır değerin içinde rakamı 1 olan yalnızca 3 adet basamak vardır. Yazdırılan değerin bu basamakların yukarıdaki tablodaki değerlerinin toplamı olduğunu görüyoruz: 1073741824 + 4 + 1 == 1073741829.

0