Skip to main content
🔬 Advanced

Hex Hesaplayıcı – Onaltılık Aritmetik

Onaltılık (hexadecimal) sayılarla toplama, çıkarma, çarpma ve bölme işlemi yapın. Hex ile ondalık arasında dönüştürün. Ücretsiz online hesaplayıcı.

Hexadecimal (Base-16): Temeller

Hexadecimal (hex) bir pozisyonal sayısal sistemdir. 16 farklı sembol kullanır: rakamlar 0-9 sıfırdan dokuza değerleri temsil eder ve harfler A-F (veya a-f) ondan onbeşe değerleri temsil eder. Bir hexadecimal rakamı dört binary biti (bir "nibble") temsil eder, bu nedenle hex binary verileri insan okunabilir bir formatta temsil etmek için en doğal yoludur.

Her hex rakamının pozisyonal değeri 16'in bir kuvvetidir. Hex sayısı 2F4 için:

Ondalıktan hex'e dönüştürme: 16'ya bölünerek kalanları (sağdan sola) kaydedin. 756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Yukarı okuma: 2F4₁₆ ✓. Çoğu programlama dilinde, hex literals 0x ile ön eki ile prefixlenir: 0x2F4 = 756.

Hex Ondalığa Dönüştürme Tablosu

Hex rakamlarını ve ortak hex değerlerini ondalığa dönüştürmek için hızlı bir referans:

HexOndalıkBinaryOrtak Anlam
0x0000000 0000Boş byte, yanlış, off
0x0110000 0001Doğru, etkin
0x0A100000 1010Yeni satır karakteri (LF)
0x0D130000 1101Satır başı (CR)
0x1F310001 1111Birim ayırıcı
0x20320010 0000Boşluk karakteri (ASCII)
0x41650100 0001'A' ASCII
0x61970110 0001'a' ASCII (küçük harf)
0x7F1270111 1111DEL karakteri; imzalı çift nipelin maksimum değeri
0x801281000 0000İmza biti ayarlandı (negatif imzalı byte)
0xFF2551111 1111Maksimum imzalı byte; tüm bitler ayarlandı
0x1002561 0000 0000Bir byte daha fazla
0xFFFF65,53516 birlerMaksimum 16-bit imzalı değer
0xFFFFFF16,777,21524 birlerMaksimum 24-bit (16M renk)

Hex ve binary arasındaki ilişki doğrudan: her hex rakamı 4 biti temsil eder. A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. 0xAB'i binary'ye dönüştürme: A=1010, B=1011 → 10101011₂ = 171₁₀.

Hex Arithmetik: Toplama, Çıkarma, Çarpma

Hexadecimal aritmetik, ondalık aritmetik kurallarına uymaktadır, ancak 10 yerine 16'ya göre taşıma ve borç alma. Hex aritmetiği anlama, assembly programlama, embedded sistemler ve derleyici çıktısını okumak için önemlidir.

Toplama örneği: 3A + 27. Birimler: A + 7 = 10 + 7 = 17 = 1×16 + 1 → 1 yazın, 1 taşıyın. Onaltılar: 3 + 2 + 1 (taşım) = 6. Sonuç: 61₁₆ = 97₁₀. Doğrula: 58 + 39 = 97 ✓.

Çıkarma örneği: C3 - 5F. Birimler: 3 < F (15), bu nedenle borç al: 3 + 16 - 15 = 4, ve 1'i sonraki sütuna taşıyın. Onaltılar: C (12) - 5 - 1 (borç) = 6. Sonuç: 64₁₆ = 100₁₀. Doğrula: 195 - 95 = 100 ✓.

Çarpma örneği: 1A × 3. A × 3 = 30 = 1E₁₆ (E yazın, 1 taşıyın). 1 × 3 + 1 = 4. Sonuç: 4E₁₆ = 78₁₀. Doğrula: 26 × 3 = 78 ✓.

İleri düzey hex hesaplamaları için, ondalık, hesaplamayı ve geri dönüştürmeyi genellikle daha güvenilir bir yöntem olarak kullanmak daha iyidir, ancak derinlemesine pratikseniz. Ancak, hex aritmetiği anlama, bellek düzeni, CPU kayıt defteri ve veri temsilini anlama için sezgi sağlar.

Hex in Web Tasarımı: Renk Kodları

HTML ve CSS renk kodları, programlama dışında hexadecimalin en görünür uygulamalarından biridir. Renkler #RRGGBB olarak ifade edilir ve her kanal 00 (0 yoğunluğu) ile FF (255 = tam yoğunluk) arasında değişir. Bu, 256³ = 16,777,216 olası renk üretir.

Hex RenkKırmızıYeşilMaviRenk Adı
#FF000025500Tam kırmızı
#00FF0002550Tam yeşil (limon)
#0000FF00255Tam mavi
#FFFF002552550Sarı
#FF00FF2550255Magenta
#00FFFF0255255Sentetik
#FFFFFF255255255Beyaz
#000000000Siyah
#808080128128128Orta gri
#FF57332558751Canlı turuncu

CSS, 4- (#RGBA) ve 8- (#RRGGBBAA) haneli (#RGBA) ve 8- (#RRGGBBAA) renkleri destekler. AA, alfa kanalıdır (00 = opak, FF = opak). Kısaltma renkleri (#RGB), her bir haneyi tekrarlayarak genişletilir: #F3A = #FF33AA.

Web tasarımcıları, renkleri değiştirmek için hex değerlerini sıklıkla ayarlar. Kırmızı kanala eklemek renkleri ısıtır; çıkarmak onları serinleştirir. Her bir R, G ve B değeri eşit olan hex renkleri her zaman gri tonları üretir. Bir renk gibi #7F7F7F, her kanalda 127/255 (yani %50) gri renktir.

Hex in Programlama: Bellek Adresleri ve Bit İşlemleri

Sistem programlama, bellek adresleri, bit bayrakları ve donanım kayıt defteri için hex doğal dilidir. C, C++, assembly veya embedded sistemlerde çalışan her programcı, sürekli olarak hex ile karşılaşır.

Bellek adresleri: 32-bit bir sistemde adresler 0x00000000 ile 0xFFFFFFFF arasında (4 GB) değişir. Ortak adres aralıkları: 0x00000000–0x00FFFFFF (düşük bellek), 0x7FFFFFFF (max pozitif 32-bit imzalı int), 0x80000000 (negatif alanın başlangıcı imzalı yorumlamada), 0xFFFFFFFF (max 32-bit imzısız). 64-bit sistemlerde, kullanıcı alanı genellikle 0x0000000000000000–0x00007FFFFFFFFFFF.

Bit işlemleri ile hex maskeleri: Bit operasyonları, nibble sınırlarına uyumlu olduğu için doğal olarak hex ile ifade edilir.

İşlemİfadeEtki
Bit 3'ü ayarlax |= 0x08Bit 3'ü 1 yap, diğerlerini değiştirme
Bit 3'ü temizlex &= ~0x08Bit 3'ü 0 yap, diğerlerini değiştirme
Bit 3'ü tersine çevirx ^= 0x08Bit 3'ü tersine çevir, diğerlerini değiştirme
Bit 3'ü kontrol et(x & 0x08) != 0Bit 3'ün ayarlı olup olmadığını test et
Alt nibblei çıkarx & 0x0FAlt 4 biti al
Üst nibblei çıkar(x >> 4) & 0x0FÜst 4 biti al

Ünlü hex sabitleri: Programcılar, eski IBM sistemlerinde boş bellek işaretlemesi olarak kullanılan 0xDEADBEEF, Java sınıf dosyası büyüklüğü numarası olan 0xCAFEBABE, Mach-O binary format büyüklüğü numarası olan 0xFEEDFACE, bellek izleme için kullanılan 0x0BADF00D ve iOS crash algılama için kullanılan 0xDEADC0DE gibi hatırlatıcı sabitler oluşturmuştur. Bu sabitler, hata ayıklama sırasında hex dümplenin kolayca görülebilmesi için oluşturulmuştur.

Dosya Biçimi İmzaları ve Hex Forensik

Her dosya formatı, başlangıçta karakteristik bir byte dizisi olan "mucize numarası" veya dosya imzasına sahiptir. Hex editörleri ve dijital forensik araçları, dosya türlerini dosya uzantısı olmadan dosya türlerini tanımlamak için bu imzaları kullanır. Dosya imzaları bilmesi, veri recovery, malware analizi ve dijital forensik için önemlidir.

Dosya TürüHex İmza (ilk byte'lar)ASCII Temsilatı
JPEG resimFF D8 FFÿØÿ
PNG resim89 50 4E 47 0D 0A 1A 0A.PNG....
PDF belgesi25 50 44 46%PDF
ZIP arşiv50 4B 03 04PK..
GIF resim47 49 46 38GIF8
ELF yürütülebilir (Linux)7F 45 4C 46.ELF
Windows PE yürütülebilir4D 5AMZ
MP3 sesFF FB veya 49 44 33ÿû veya ID3
SQLite veritabanı53 51 4C 69 74 65SQLite

Emniyet profesyonelleri, dosya uzantısı güvenmeden binary dosyaları incelemek için hex kullanır. "belge.pdf" adlı bir dosya, 4D 5A ile başlarsa aslında bir Windows yürütülebilir dosya - bir yaygın malware hile. Ağ paketlerinin hex analizi, protokol yapıları, şifreleme başlıkları ve potansiyel saldırıları ortaya koyar.

Taban Sayı Karşılaştırması: Onluk, İkili, Sekizlik, Onaltılık

Bilgisayarlar farklı amaçlar için farklı sayı tabanları kullanır. Onları anlama, teknik belgelere okuma, hata ayıklama ve sistem programlama yardımcı olur.

Onlukİkili (taban 2)Sekizlik (taban 8)Onaltılık (taban 16)
0000000
81000108
10101012A
15111117F
160001 00002010
640100 000010040
1281000 000020080
2551111 1111377FF
2561 0000 0000400100
1024100 0000 00002000400

Sekizlik (taban 8) bir zamanlar bilgisayarlarda yaygın olarak kullanılıyordu (Unix dosya izinleri: chmod 755 = 111 101 101 ikili = rwxr-xr-x). Onaltılık, modern 8-bit, 16-bit, 32-bit ve 64-bit mimarilerle uyumlu 4 bitlik her bir basamak (onaltılık) yerine 3 bitlik her bir basamak (sekizlik) ile daha iyi uyumlu olduğu için sekizlik için çoğu amaç için onaltılık yerini aldı.

Sıkça Sorulan Sorular

Hex ve binary arasında hızlı bir şekilde nasıl dönüştürülür?

Her hex rakamı tam olarak 4 binary bitine karşılık gelir: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. 0xB7'i dönüştürmek için: B=1011, 7=0111 → 10110111₂. 11001010₂'yi dönüştürmek için: 1100=C, 1010=A → 0xCA.

Why CSS renkleri neden hexadecimal kullanır?

CSS, RGB kanalı (0-255) için her biri tam olarak 2 hex rakamına (00-FF) uyan bir neden kullanır. #RRGGBB formatı, 24-bit renk modelini kullanan gösterim donanımına doğrudan harmanlanır. HTML, erken 1990'larda X11 renk tanımlamalarından hex renkleri benimsemiştir ve bu konvansiyon standart olarak kalmıştır.

0xFF, hangi dekadik rakama eşittir?

0xFF = 15×16 + 15 = 240 + 15 = 255. Binary'de FF = 1111 1111, yani 8 bit tümü ayarlanmıştır. 255, bir imzısız byte (uint8) için maksimum değer, her RGB renk kanalı için maksimum yoğunluk ve ağ (255.255.255.255) ve bilgisayar ağında sürekli olarak görünür.

0x1F ve 0xF1 arasındaki fark nedir?

Bunlar, aynı rakamları farklı bir sırayla farklı sayılar. 0x1F = 1×16 + 15 = 31 dekadik. 0xF1 = 15×16 + 1 = 241 dekadik. Binary'de: 0x1F = 0001 1111; 0xF1 = 1111 0001. Pozisyonel değer önemlidir, 19 ≠ 91 gibi dekadikte.

32-bit bir sayıyı temsil etmek için kaç hex rakamı gerekir?

Tam olarak 8 hex rakamı (16⁸ = 2³², tüm 32-bit değerleri 0x00000000'dan 0xFFFFFFFF'e kadar kapsar). 32-bit sistemlerde bellek adresleri 8-hex rakam olarak gösterilir. 64-bit sayılar için 16-hex rakam gerekir (0x0000000000000000'dan 0xFFFFFFFFFFFFFFFF'e kadar).

Hex sayılarında "0x" ön eki ne anlama gelir?

"0x" ön eki, C ve çoğu programlama dilinde, takip eden sayının hexadecimal olduğunu belirtmek için kullanılan bir notasyon conventionidir. "0x" "hex" için kısaltmasıdır ( 'x' hexadecimal'i ima eder). Diğer notasyonlar: assembly'de son 'h' (FFh), CSS ve bazı durumlarda başlangıç '#' ( #FF0000), bazı eski dillerde $ ön eki ( $FF).

Hex, IP adreslerinde nasıl kullanılır?

IPv4 adresleri (örneğin 192.168.1.1), her oktetin hex olarak ifade edilebilir: 192.168.1.1 = 0xC0 0xA8 0x01 0x01 = 0xC0A80101. IPv6 adresleri zaten hex olarak yazılır: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Bu, hex aritmetiği ile IPv6 adresinin kolayca işlenmesi sağlar.

Hex editörü nedir ve ne zaman kullanırım?

Hex editörü, dosyaları raw byte olarak hexadecimal olarak gösterir ve düzenler. Kullanım alanları: dosya formatı imzalarını incelemek için dosya türlerini tanımlamak, binary oyun kaydetme dosyalarını düzenlemek, yazılımı ters mühendisliği, ağ yakalamalarını analiz etmek, hasarlı dosyaları geri kazanmak ve dijital forensik. Popüler hex editörleri arasında HxD (Windows), hex fiend (Mac) ve xxd (komut satırı Unix aracı) bulunur.

Hex, dekadikten neden bilgisayar tarafından kullanılır?

Bilgisayarlar binary (2 tabanlı) çalışır ve 16 = 2⁴ — hex, binary ile mükemmel bir şekilde uyuşur. Bir hex rakamı = 4 bit, iki hex rakamı = 1 byte (8 bit), dört hex rakamı = 16 bit, sekiz hex rakamı = 32 bit. Dekadik, 2'nin herhangi bir kuvvetine uymaz, bu nedenle hex, binary verilerin kompakt bir şekilde ifade edilmesini sağlar.

Hex renkini RGB değerlerine nasıl dönüştürürüm?

6-hex rakamını üç 2-hex grupına ayırın: #RRGGBB. Her birini hex'ten dekadik'e dönüştürün. Örnek: #4A90E2 → R=0x4A=74, G=0x90=144, B=0xE2=226. Bu renk, rgb(74, 144, 226) — orta mavi. Geri dönüşüm için: her dekadik değeri 2-hex rakamına dönüştürün ve birleştirin: rgb(255, 87, 51) → #FF5733.