Hexadecimal - Desimal Çevirici

Onaltılık tabandaki sayıları adım adım onluk tabana dönüştür.

Bir tasarımcı sana #FF5733 renk kodunu iletip bunun standart RGB karşılığını sorabilir. Onaltılık sistem baytlarla uğraşanlar için pratik bir kısaltma sunsa da, dönüştürülmediği sürece çoğu kişi için anlaşılması güç kalır.

Hexadecimal sistemin onluk taban ile ilişkisi

Onluk sistemdeki 47 sayısı, dört adet onluk ve yedi adet birlik anlamına gelir. Onaltılık düzen de benzer bir mantıkla çalışır; ancak basamaklar 10 yerine 16’nın kuvvetleriyle büyür ve tek bir basamak 0 ile 15 arasında değer alabilir. Bu nedenle 10 ile 15 arasındaki değerleri göstermek için A ile F arasındaki harfler kullanılır.

Örneğin 2F değerini ele alalım. 2 rakamı 16’lar basamağında, F harfi ise 1’ler basamağında yer alır. Böylece hesaplama (2 × 16) + 15 = 47 olarak sonuçlanır. Daha uzun hex sayılarda, onluk sistemdeki yüzler ve binler gibi, sola doğru 16’nın daha büyük kuvvetleri eklenir.

Hex basamakları ve desimal karşılıkları tablosu

Hex basamağıDesimal karşılığı
0 – 9Desimal ile aynı, 0 ile 9 arası
A10
B11
C12
D13
E14
F15

Web renk kodlarında hex ve desimal bağıntısı

Web üzerinde sıkça rastlanan #FF5733 gibi bir renk kodu, altı hex basamağına sığdırılmış üç bayt barındırır. Kırmızı, yeşil ve mavi kanallarının her biri ikişer basamakla ifade edilir. Burada FF değeri 255 eder; 57 değeri (5 × 16) + 7 = 87 olur; 33 değeri ise (3 × 16) + 3 = 51 sonucunu verir. Bu da sıcak bir turuncu-kırmızı olan RGB(255, 87, 51) rengini oluşturur.

#FFFFFF kodu RGB(255, 255, 255) değerine dönüşür çünkü tüm kanallar tavan değerindedir ve bu nedenle beyaz görünür. Benzer şekilde #000000 kodu da her kanalın sıfır olması sebebiyle siyah rengi verir.

Hex değerini desimale dönüştürme adımları

  1. Hex basamaklarını sağdan sola doğru 0 konumundan başlayarak numaralandır.
  2. A ile F arasındaki harf karakterlerini 10 ile 15 arasındaki desimal sayılara çevir.
  3. Her basamaktaki sayıyı 16’nın ilgili konum üssüyle çarp.
  4. Nihai desimal sonuca ulaşmak için çıkan çarpımları birbiriyle topla.
  5. Hızlı kontrol: İki basamaklı 00 ile FF arasındaki herhangi bir hex değeri 0 ile 255 arasında bir sonuç vermelidir.

Hexadecimal ve desimal dönüşümü hakkında sorular

Onaltılık sistemde neden harfler yer alır?

Tek bir hex basamağının on altı farklı durumu göstermesi gerekir ancak desimal sistemde yalnızca on rakam bulunur. Değerlerin tek karakterde kalabilmesi adına 10 ile 15 aralığını temsil etmek üzere A ile F arasındaki harfler seçilmiştir.

Büyük bir hex sayısını pratik olarak nasıl çevirebilirsin?

En sağdaki basamaktan başlayarak her haneyi 16’nın basamak kuvvetiyle çarpıp sonuçları toplayabilirsin. İki veya üç basamaktan daha uzun sayılarda elde yapılan işlem hatalarını önlemek için çevirici aracına değeri girip butona tıklamak en güvenli yoldur.

Web sitelerinde renkler için neden desimal yerine hex tercih edilir?

İki hex basamağı tam olarak bir bayta denk gelir ve renk kanalları bellekte bu birimle saklanır. Desimal gösterim kanal başına üç basamak gerektirir ve bellekteki bayt yapısıyla doğrudan örtüşmez.

0xFF yazımı ile sadece FF yazımı aynı mıdır?

Evet. Baş tarafta yer alan 0x öneki, programlama dillerinde sıradaki karakterlerin onaltılık formatta olduğunu belirten bir gösterim kuralıdır. Önek bulunsa da bulunmasa da temsil edilen sayısal değer aynıdır.

Hexadecimal bir sayı negatif olabilir mi?

Onaltılık tabanın kendi içinde yerleşik bir eksi işareti bulunmaz. Negatif değerler genellikle sabit bit genişliklerinde ikiye tümleyen yöntemiyle temsil edilir; bu da taban sisteminin üzerine eklenen ayrı bir kuraldır.

Cookie
Verilerinizi önemsiyoruz ve deneyiminizi geliştirmek için çerezleri kullanmayı çok isteriz.