8 4=32 bit binary e dk işte hesapla 32 tane 1 ne yapıyor en çok kaç alıyor hepsinde aynıdır o muhtemelen Si vis pacem para bellum.

Hocam makineden makineye compilerdan compiler'a değişir. Hatta compiler'ın optimizasyonu bile etkileyebilir. İlla kullanacaksan sizeof diye bi operatr var, onunla kullan. sizeof integer boyutunu dndürür. There are 10 types of people in the world. Those who knows binary and those who dont...

: NmC bunu yazdı: Hocam makineden makineye compilerdan compiler'a değişir. Hatta compiler'ın optimizasyonu bile etkileyebilir. İlla kullanacaksan sizeof diye bi operatr var, onunla kullan. sizeof integer boyutunu dndürür. sizeof bana kaç byte olduğunu dnecek max sayıyı buradan nasıl hesaplarım? Bir de kısa sürede çalışması gerek programın Max integer değerini mi? hocam işte 4 byte dndürüyosa 32 bittir. 32 bitte de 2^32 kadar sayı tutabilirsin. Bir de signed olduğundan pozitif değer yarıya düşecek o kadar (: There are 10 types of people in the world. Those who knows binary and those who dont...

benim için max lazım dijkstra shortest path algoritmasını uygulayacağım tüm node'ların cost'unu sonsuz yapacağım sonra azaltarak en küçüğünü bulacağım. Ama bazen 4 byte bazen 8 byte oluyorsa sonsuz dediğim max int değişir.

hocam neyi niye zorluyorsun bilmiyorum ama max int limiti belli eğer daha uzun birşey kullanıcaksan daha farklı tanımalr var mesela double I am Jack's inflamed sense of rejection

: benim için max lazım dijkstra shortest path algoritmasını uygulayacağım tüm node'ların cost'unu sonsuz yapacağım sonra azaltarak en küçüğünü bulacağım. Ama bazen 4 byte bazen 8 byte oluyorsa sonsuz dediğim max int değişir. sonsuz kullanamazsında fonksiyon tam olarak nedir iterasyonla yapabilirsin onları yada benzer bi diziye gre açarsın en ktü Si vis pacem para bellum.

: Hocam makineden makineye compilerdan compiler'a değişir. Hatta compiler'ın optimizasyonu bile etkileyebilir. İlla kullanacaksan sizeof diye bi operatr var, onunla kullan. sizeof integer boyutunu dndürür. sizeof bana kaç byte olduğunu dnecek max sayıyı buradan nasıl hesaplarım? Bir de kısa sürede çalışması gerek programın

int türünün boyutları standartlarda implementation-dened şeklinde geçer. Yani minimum sınırları verilmiş ancak boyutu derleyici yazanlara bırakılmıştır. Standartlarda, kodun derlendiği mimarinin nerdiği boyutlarda olması tavsiye edilir, mesela 16 bit işlemcilerde int boyutu 16 bit, 32 bitlerde 32 bit olmuştur. Ancak hem visual C++ da hem gcc de 64 derleyicilerde int 64 bit olmamış, 32 kalmıştır (sanırım long long int C99 ile standartlara eklendigi için). Ancak yine de A firması çıkıp 64 bit int size ı olan bir derleyici çıkarabilir ve bu derleyici standartlara uygun sayılır. Ayrıca standartlarda int boyutunun limits. h daki INT_MIN ve INT_MAX arasında olacağı garanti altına alınmıştır. Yine de sen kendin çalışma zamanında bulmak istersen pow(2, sizeof 8 -1) ifadesini kullanabilirsin. Standartın tam metnini ansi veya iso nun sitesinden satın alabiliyorsun, ancak free de bulabilirsin. C11 yani ISO/IEC 9899:2011 için link http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570. pdf C99 yani ISO/IEC 9899:1999 için link http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124. pdf

Ansi C standartlarını okuyabileceğim bir kitap bir site var mıdır araştırdım hep saçma sapan şeyler buldum. Bir de Ansi C'de int kesin 4 byte'tır diyebilir miyiz makineye gre, derleyiciye gre değişir mi? Dolayısıyla her zaman maximum integer limits. h'ta geçtiği gibi " # define INT_MAX 2147483647 " makrosu ile kullanılabilir mi?

: int türünün boyutları standartlarda implementation-dened şeklinde geçer. Yani minimum sınırları verilmiş ancak boyutu derleyici yazanlara bırakılmıştır. Standartlarda, kodun derlendiği mimarinin nerdiği boyutlarda olması tavsiye edilir, mesela 16 bit işlemcilerde int boyutu 16 bit, 32 bitlerde 32 bit olmuştur. Ancak hem visual C++ da hem gcc de 64 derleyicilerde int 64 bit olmamış, 32 kalmıştır (sanırım long long int C99 ile standartlara eklendigi için). Ancak yine de A firması çıkıp 64 bit int size ı olan bir derleyici çıkarabilir ve bu derleyici standartlara uygun sayılır. Ayrıca standartlarda int boyutunun limits. h daki INT_MIN ve INT_MAX arasında olacağı garanti altına alınmıştır. Yine de sen kendin çalışma zamanında bulmak istersen pow(2, sizeof 8 -1) ifadesini kullanabilirsin. Standartın tam metnini ansi veya iso nun sitesinden satın alabiliyorsun, ancak free de bulabilirsin. C11 yani ISO/IEC 9899:2011 için link http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570. pdf C99 yani ISO/IEC 9899:1999 için link http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124. pdf Hocam bilgi için çok teşekkürler. limits. h'taki INT_MAX 32 bit'in maximum değerini veriyor (2^31)-1 ben bunu sonsuz olarak kullanmak istiyorum dijkstra shortest path algoritmasında fakat devin değerlendirilmesi farklı bir makinede yapılıp bu değerden daha büyük bir weight verirler diye korkuyorum. Açıklamada int'a sığacak yazıyor sadece.

: hocam neyi niye zorluyorsun bilmiyorum ama max int limiti belli eğer daha uzun birşey kullanıcaksan daha farklı tanımalr var mesela double Max int değeri belli demişsin de, kaç ki? Ben farklı platformlarda farklı oluyor diye biliyorum. Sen hiç kaval çaldın mı?

int in değeri 32 bitte 4bayt 64 bitte de 4bayt. long un değeri 32bit te long 64 bitte long long. Mesaj 21 Temmuz 2012 Saat: 19:57'da j4x tarafından düzenlendi. ftw

: Tugberk bunu yazdı: Sonsuzu unut birkere, evrendeki atom sayısı bile sonlu iken, sonsuz sayı alan bir değişken ne teoride ne pratikte mümkündür. Yeterince büyükten bahsedilebilir. Birkere tüm sistemlerde int in 32 bit olduğunu syledik linux windows x86 x64 farketmez. Platform tamamen farklı bile olsa, sizeof kullanarak derlenen kod taşınabilir olur. Eğer int çok küçük geliyor diyorsan, unsigned long long int kullan, 64 bit işaretsiz, max 18446744073709551615 alabilir, 18 kentilyon, bu weight i algoritmaya verirsen çzüm süresi evrenin yaşından çok daha fazla olacaktır. Yani yanlış noktayı kafaya takıyorsun, sen yazdığın algoritmanın güvenliğini kalitesini filan düşün int in sınırına takılma bence. Verilecek sayı integer'a sığacak deniliyorsa sonsuz dediğimiz şey integer'a sığan maksimum sayıdır diye düşündüm dolayısıyla initial maliyet olarak onu verip daha sonra güncelleyerek en kısasını bulmaya çalışıyorum. Ama eğer her platformda 32 bit ise her zaman (2^31)-1 olur zaten problem yaşamam. Hocam tuğberk yukarıda belirtmiş ncesinde ben de syledim. Makineden makineye değişse bile max int değerini pow(2, sizeof 8 -1) ile bulabilirsin. Ayrıca o kadar büyük bi graf vermek saçmalık olur, dijkstra ile çzülmesi günleri bulabilir :| There are 10 types of people in the world. Those who knows binary and those who dont...

hiç c yazmadım ama tahminimce uygulama x64 derlenirse 2^63-1 x86 ya gre derlenirsede 2^31-1 olur diye düşünüyorum

: Sonsuzu unut birkere, evrendeki atom sayısı bile sonlu iken, sonsuz sayı alan bir değişken ne teoride ne pratikte mümkündür. Yeterince büyükten bahsedilebilir. Birkere tüm sistemlerde int in 32 bit olduğunu syledik linux windows x86 x64 farketmez. Platform tamamen farklı bile olsa, sizeof kullanarak derlenen kod taşınabilir olur. Eğer int çok küçük geliyor diyorsan, unsigned long long int kullan, 64 bit işaretsiz, max 18446744073709551615 alabilir, 18 kentilyon, bu weight i algoritmaya verirsen çzüm süresi evrenin yaşından çok daha fazla olacaktır. Yani yanlış noktayı kafaya takıyorsun, sen yazdığın algoritmanın güvenliğini kalitesini filan düşün int in sınırına takılma bence. Verilecek sayı integer'a sığacak deniliyorsa sonsuz dediğimiz şey integer'a sığan maksimum sayıdır diye düşündüm dolayısıyla initial maliyet olarak onu verip daha sonra güncelleyerek en kısasını bulmaya çalışıyorum. Ama eğer her platformda 32 bit ise her zaman (2^31)-1 olur zaten problem yaşamam.

: Hocam bilgi için çok teşekkürler. limits. h'taki INT_MAX 32 bit'in maximum değerini veriyor (2^31)-1 ben bunu sonsuz olarak kullanmak istiyorum dijkstra shortest path algoritmasında fakat devin değerlendirilmesi farklı bir makinede yapılıp bu değerden daha büyük bir weight verirler diye korkuyorum. Açıklamada int'a sığacak yazıyor sadece. Sonsuzu unut birkere, evrendeki atom sayısı bile sonlu iken, sonsuz sayı alan bir değişken ne teoride ne pratikte mümkündür. Yeterince büyükten bahsedilebilir. Birkere tüm sistemlerde int in 32 bit olduğunu syledik linux windows x86 x64 farketmez. Platform tamamen farklı bile olsa, sizeof kullanarak derlenen kod taşınabilir olur. Eğer int çok küçük geliyor diyorsan, unsigned long long int kullan, 64 bit işaretsiz, max 18446744073709551615 alabilir, 18 kentilyon, bu weight i algoritmaya verirsen çzüm süresi evrenin yaşından çok daha fazla olacaktır. Yani yanlış noktayı kafaya takıyorsun, sen yazdığın algoritmanın güvenliğini kalitesini filan düşün int in sınırına takılma bence.