C'de Hexadecimal Tanımlamalar

Varyemez

Hectopat
Katılım
3 Şubat 2018
Mesajlar
199
Yer
Türkiye
Daha fazla  
Cinsiyet
Erkek
Meslek
Lise Öğrencisi
C:
#define GL_STATIC_DRAW 0x88E4
Bu tarzda hexadecimal tanımlamaların, decimal tanımlamalardan farkı var mıdır?
 
Çözüm
Elektronikte heksadesimal sayı sisteminin neden tercih edildiği, sorunuzun cevabı olabilir. İkilik sayı bitlerini gruplar halinde temsil edebilme avantajı 16'lık sayı sistemini ilk tercih haline getirmiştir. Mikroişlemcide işlenecek veya depolama aygıtlarında depolanacak verilerin, değerleri ve konum bilgileri hex değerlerle temsil edilir. Heksadesimal ve ikilik sayıların birbirine dönüştürmeleri de maliyetsizdir(!). Bit düzeyinde işlem yaparken ise insanı bit karmaşasından kurtarırken, bit hakimiyetinden koparmaz da. "E" harfi hangi basamakta olursa olsun "1110" ikili değerini temsil eder örneğin. Sorunuzun daha derin cevapları da var. Benim bilebildiklerim bunlar.
Elektronikte heksadesimal sayı sisteminin neden tercih edildiği, sorunuzun cevabı olabilir. İkilik sayı bitlerini gruplar halinde temsil edebilme avantajı 16'lık sayı sistemini ilk tercih haline getirmiştir. Mikroişlemcide işlenecek veya depolama aygıtlarında depolanacak verilerin, değerleri ve konum bilgileri hex değerlerle temsil edilir. Heksadesimal ve ikilik sayıların birbirine dönüştürmeleri de maliyetsizdir(!). Bit düzeyinde işlem yaparken ise insanı bit karmaşasından kurtarırken, bit hakimiyetinden koparmaz da. "E" harfi hangi basamakta olursa olsun "1110" ikili değerini temsil eder örneğin. Sorunuzun daha derin cevapları da var. Benim bilebildiklerim bunlar.
 
Çözüm
Compiler icin fark yok.
Flag olarak kullanildigindan boyle bir convention gelismis.
0x001
0x010
0x100 yazmak,

1
2
4 yazmaktan daha anlasilir. Bit flag oldugunu hemen anliyorsun.
 
Python da \x kaçış dizisiyle tanımlanıyor fakat C dilini bilmiyorum ve Python'dan daha karmaşık bir dil olduğunu düşünüyorum. Bence bırakın C yi hem eski bir dil. Python'a başlayın, hem python kodlarını derleme gerek yok temiz ve basit bir ara yüzü var.
 
Python da \x kaçış dizisiyle tanımlanıyor fakat C dilini bilmiyorum ve Python'dan daha karmaşık bir dil olduğunu düşünüyorum. Bence bırakın C yi hem eski bir dil. Python'a başlayın, hem Python kodlarını derleme gerek yok temiz ve basit bir arayüzü var.
Eleştirin(!) için teşekkürler, ancak konu ile gerçekten alakasız olmuş.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı