lostyazilim
tr.link

1 byte neden (-128...127) arasında değer alıyor?

8 Mesajlar 2.063 Okunma
acebozum
tr.link

kalicontrol kalicontrol Buralar yalan..! Kullanıcı
  • Üyelik 02.10.2019
  • Yaş/Cinsiyet 42 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad S** K**
  • Mesajlar 8
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)
Arkadaşlar java programlamaya başladım. Temel veri türlerinden olan byte'ın neden -128 ile 127 arasında değer aldığını kısaca açıklayabilrmisiniz. Tam mantığını oturtamadım. Şimdiden cevap yazan arkadaşlara teşekkürler.
 

 

wmaraci
reklam

NetBilgi NetBilgi WM Aracı Kullanıcı
  • Üyelik 12.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Tekirdağ
  • Ad Soyad B** S**
  • Mesajlar 20
  • Beğeniler 4 / 18
  • Ticaret 2, (%100)
Bilgisayar sistemleri 2'li tabandan oluşur yani 0 ve 1lerden.

Bir byte 8 bittir.
Yani

00000000 değeri 0 'a tekabul ederken
11111111 değeri 255'e tekabul eder. Bu hesaplamayı 2li sayı sistemini araştırarak anlayabilirsin.

bilgisayarımız en soldaki biti yön ya da diğer tabiri ile işaret biti olarak tanımlar bu değer 1 ise negatif 0 ise pozitif olduğunu gösterir.

00000000 = 0 (0+0) ( Soldaki bitimiz 0 )
00000001 = 1 (0 + 1) (Soldaki bitimiz 0)
00001011 = 11 (0+11) (Soldaki bitimiz 0 )

Fakat en soldaki biti 1'e dönüştürdüğümüzde:

10000000 = -128 (-128 + 0)( Soldaki bitimiz 1 )
10000001 = -127 (-128 + 1)( Soldaki bitimiz 1 )
10001011 = -117 (-128+11) ( Soldaki bitimiz 1 )

Buradan alacağımız sonuca göre:

10000000 =-128 alabileceğimiz en küçük değer iken
01111111 =127 alabileceğimiz en büyük değer olur.

bunu anlayabilmek için ikilik sayı sistemine hakim olmak gerekir.
AtaTekin berkaycatak VolkanYildiz

kişi bu mesajı beğendi.

kalicontrol kalicontrol Buralar yalan..! Kullanıcı
  • Üyelik 02.10.2019
  • Yaş/Cinsiyet 42 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad S** K**
  • Mesajlar 8
  • Beğeniler 3 / 2
  • Ticaret 0, (%0)
Hocam çok teşekkür ederim. İkilik sayı sistemini biliyordum fakat baştaki bitin + ve - olma konusuna pek hakim değildim. Sayende çok iyi anladım eyw.
NetBilgi FactiooN

kişi bu mesajı beğendi.

NetBilgi NetBilgi WM Aracı Kullanıcı
  • Üyelik 12.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Tekirdağ
  • Ad Soyad B** S**
  • Mesajlar 20
  • Beğeniler 4 / 18
  • Ticaret 2, (%100)
Katkımız oldu ise ne mutlu,rica ederim.
 

 

wmaraci
wmaraci

AtaTekin AtaTekin WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 25 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** T**
  • Mesajlar 702
  • Beğeniler 301 / 269
  • Ticaret 7, (%100)

NetBilgi adlı üyeden alıntı

Bilgisayar sistemleri 2'li tabandan oluşur yani 0 ve 1lerden.

Bir byte 8 bittir.
Yani

00000000 değeri 0 'a tekabul ederken
11111111 değeri 255'e tekabul eder. Bu hesaplamayı 2li sayı sistemini araştırarak anlayabilirsin.

bilgisayarımız en soldaki biti yön ya da diğer tabiri ile işaret biti olarak tanımlar bu değer 1 ise negatif 0 ise pozitif olduğunu gösterir.

00000000 = 0 (0+0) ( Soldaki bitimiz 0 )
00000001 = 1 (0 + 1) (Soldaki bitimiz 0)
00001011 = 11 (0+11) (Soldaki bitimiz 0 )

Fakat en soldaki biti 1'e dönüştürdüğümüzde:

10000000 = -128 (-128 + 0)( Soldaki bitimiz 1 )
10000001 = -127 (-128 + 1)( Soldaki bitimiz 1 )
10001011 = -117 (-128+11) ( Soldaki bitimiz 1 )

Buradan alacağımız sonuca göre:

10000000 =-128 alabileceğimiz en küçük değer iken
01111111 =127 alabileceğimiz en büyük değer olur.

bunu anlayabilmek için ikilik sayı sistemine hakim olmak gerekir.


Elinize sağlık hocam çok sade ve güzel anlatmışsınız.
 

 

NetBilgi NetBilgi WM Aracı Kullanıcı
  • Üyelik 12.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Tekirdağ
  • Ad Soyad B** S**
  • Mesajlar 20
  • Beğeniler 4 / 18
  • Ticaret 2, (%100)
Teşekkür ederim, dileyen özelden yazarsa yönlendirebilirim bu konu hakkında
zexon

kişi bu mesajı beğendi.

zexon zexon WV Aracı Kullanıcı
  • Üyelik 28.12.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Ogrenci
  • Konum İstanbul Avrupa
  • Ad Soyad A** M**
  • Mesajlar 396
  • Beğeniler 101 / 128
  • Ticaret 3, (%100)
NetBilgii anlaşılır şekilde ogrenebilecegim kaynakları yazarmisiniz.
Ek olarak suanki bilgisayarlar binary code yerine bilgisayarlar decimal mi kullanıyor ve 64 bit ile 32 bit sistemde bu ilişkiyle mi alakalı.
NetBilgi

kişi bu mesajı beğendi.

NetBilgi NetBilgi WM Aracı Kullanıcı
  • Üyelik 12.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Tekirdağ
  • Ad Soyad B** S**
  • Mesajlar 20
  • Beğeniler 4 / 18
  • Ticaret 2, (%100)

zexon adlı üyeden alıntı

NetBilgii anlaşılır şekilde ogrenebilecegim kaynakları yazarmisiniz.
Ek olarak suanki bilgisayarlar binary code yerine bilgisayarlar decimal mi kullanıyor ve 64 bit ile 32 bit sistemde bu ilişkiyle mi alakalı.

Merhaba zexon,
Bilgisayarlar hala İkilik (Binary) Sayı sistemini kullanır bu iki sistem arasındaki seçimin 32bit veya 64bit ile ilgisi yok.
Bu görsele bakarak ufak bir anlatım yapıp aydınlatayım.


Neden binary kullanıyoruz hala?
Bilgisayarlar basitçe diyorlar ve transistörlerden oluşturulmuştur.
Binaryde iki durum vardır 0 ve 1.
0 devrenin kapalı olduğunu yani akım olmadığını ifade ederken, 1 akım olduğuna işaret eder.

Herhangi bir doğal sayı şu şekilde gösterilebilir.





Görselden de anlaşılacağı gibi veriler sinyaller sayesinde iletilir ve depolanır. 1 akım var, 0 akım yok.

Şimdi ise decimal sayı sistemiyle deneyelim.
0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 sayıları için göndermemiz gereken voltaj seviyeleri oldukça belirsiz olacaktır.
Şöyle bir sistem kurmalıyız:

0- kapalı.

1- açık ama çok çok çok az voltaj.

2- açık ama çok çok az voltaj.

3- açık ama çok az voltaj.

4- açık ama az voltaj.

5-açık.

6-açık ama yüksek voltaj.

7-açık ama çok yüksek voltaj.

8-açık ama çok çok yüksek voltaj.

9-açık ama çok çok çok yüksek voltaj.

iki durum kullanmak hem günümüz iletkenleri için daha garanti sonuç sağlar hem de bizi maaliyetten kurtarır.Hızlı olması da var tabi.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al