Sayı Tabanı Dönüştürücü preview

Sayı Tabanı Dönüştürücü

Sayıları ikili (taban 2), sekizli (taban 8), ondalık (taban 10) ve onaltılık (taban 16) sistemler arasında dönüştürün.

Öne çıkan özellikler

  • Binary/Octal/Decimal/Hex
  • Live conversion
  • Hex letter support
  • Copy results

Guide

Sayı tabanı dönüşümü, bir değeri farklı bir taban kullanan bir konumsal sayı sisteminde ifade etme işlemidir. Bilişim ve matematikteki en yaygın dört taban ikili (taban 2), sekizli (taban 8), ondalık (taban 10) ve onaltılık (taban 16)'dır. Her programcı, elektrik mühendisi ve bilgisayar bilimleri öğrencisi bu sistemlerle düzenli olarak karşılaşır. Bu rehber her tabanın nasıl çalıştığını, aralarındaki dönüşüm yöntemlerini ve her tabanın doğru seçim olduğu pratik durumları açıklar. Ondalık, her gün kullandığınız sistemdir. 0'dan 9'a on rakama sahiptir. Ondalık bir sayıdaki her konum 10'un bir kuvvetini temsil eder. 5207 sayısı 5 çarpı 1000, artı 2 çarpı 100, artı 0 çarpı 10, artı 7 çarpı 1 anlamına gelir. Bu konumsal değer kavramı her tabana uygulanır. Değişen tek şey, kullanılabilir rakam sayısı ve her konumun temsil ettiği kuvvettir. Ondalık sistem neredeyse kesin olarak insanların on parmağı olması nedeniyle gelişmiştir, bu da on'u doğal bir gruplandırma yapar. İkili (binary), 0 ve 1 olmak üzere iki rakam kullanır. Her konum 2'nin bir kuvvetini temsil eder. 1101 ikili sayısı, ondalık olarak 13'e eşit olan 1 çarpı 8, artı 1 çarpı 4, artı 0 çarpı 2, artı 1 çarpı 1 anlamına gelir. Bilgisayarlar ikili olarak çalışır çünkü elektronik devrelerin iki kararlı durumu vardır: açık ve kapalı, yüksek voltaj ve düşük voltaj. Bilgisayarınızın işlediği metinden videoya, yazılım talimatlarına kadar her veri parçası sonuçta 1'ler ve 0'lar dizisi olarak temsil edilir. İkili sayılar hızla uzun olur. 255 ondalık sayısı ikili olarak 11111111'dir; ondalığın üçte hallettiği iş için sekiz rakam. Bu yüzden programcılar büyük değerler için nadiren ham ikili yazarlar. 8 ve 16 her ikisi de 2'nin kuvveti olduğundan ve ikiliye temiz olarak eşlendiğinden kısaltma gösterimi olarak sekizli veya onaltılık kullanırlar. Sekizli (octal), 0'dan 7'ye kadar sekiz rakam kullanır. Her sekizli rakam tam olarak üç ikili rakama karşılık gelir. 17 sekizli sayısı, ondalık 15 olan 001 111 ikili sayısına eşittir. Sekizli, sistemler 3'e bölünebilen kelime boyutlarına sahip mimariler kullandığında (12 bit, 24 bit ve 36 bit makineler gibi) tarihsel olarak bilişimde önemliydi. Bugün sekizli en yaygın olarak Unix/Linux dosya izinlerinde görünür. 755 izin değeri, sahibin okuma, yazma ve yürütme yapabileceği (ikili olarak 7 = 111), grup ve diğerlerinin ise okuma ve yürütme ama yazamama (ikili olarak 5 = 101) anlamına gelir. Linux ve macOS'taki chmod komutu dosya izinlerini ayarlamak için sekizli sayılar kullanır, bu da Unix tabanlı sistemlerde çalışan her sistem yöneticisi veya geliştirici için sekizli bilgisini ilgili kılar. Onaltılık (hexadecimal), 0'dan 9'a ve A'dan F'ye kadar on altı rakam kullanır; burada A 10'u, B 11'i, C 12'yi, D 13'ü, E 14'ü ve F 15'i temsil eder. Her onaltılık rakam tam olarak dört ikili rakama eşlenir. Bu, hex'i modern bilişimde ikili veriler için tercih edilen kısaltma yapar. FF hex değeri, ondalık 255 olan 1111 1111 ikili sayısına eşittir. Tek bir bayt (8 bit) her zaman tam olarak iki hex rakamı olarak temsil edilebilir, bu da hex'i bellek içeriklerini, renk değerlerini, MAC adreslerini ve kriptografik özetleri görüntülemek için ideal kılar. Ondalıktan başka herhangi bir tabana dönüşüm, tekrarlanan bölme kullanır. 200 ondalığı ikiliye dönüştürmek için 200'ü 2'ye tekrar tekrar bölün ve kalanları kaydedin. 200 / 2 = 100 kalan 0. 100 / 2 = 50 kalan 0. 50 / 2 = 25 kalan 0. 25 / 2 = 12 kalan 1. 12 / 2 = 6 kalan 0. 6 / 2 = 3 kalan 0. 3 / 2 = 1 kalan 1. 1 / 2 = 0 kalan 1. Kalanları alttan üste okumak 11001000 verir. Aynı yöntem herhangi bir hedef taban için çalışır. 200'ü hex'e dönüştürmek için 16'ya bölün: 200 / 16 = 12 kalan 8, 12 / 16 = 0 kalan 12 (C'dir). Alttan üste okumak C8 verir. Herhangi bir tabandan ondalığa dönüşüm, konumsal değer formülünü kullanır. Her rakamı konumsal kuvvetiyle çarpın ve sonuçları toplayın. 2F3 hex için: 2 çarpı 256 (16'nın karesi) artı 15 çarpı 16 (F 15'tir) artı 3 çarpı 1, 512 artı 240 artı 3'e eşittir, bu ondalık olarak 755'tir. Bu yöntem herhangi bir kaynak taban için çalışır. 101010 ikili için: 1 çarpı 32 artı 0 çarpı 16 artı 1 çarpı 8 artı 0 çarpı 4 artı 1 çarpı 2 artı 0 çarpı 1, ondalık olarak 42'ye eşittir. İkili ve hex arasında dönüşüm, her hex rakamı tam olarak dört ikili rakam olduğundan kolaydır. İkili sayıyı sağdan başlayarak dörtlü parçalara gruplayın, gerekirse baştaki sıfırlarla doldurun. 10110111 ikili, hex olarak B7 olan 1011 0111 olur. Ters yönde, her hex rakamını dört bitlik ikili karşılığıyla değiştirin. A3 hex, 1010 0011 olur. Bu doğrudan eşleme, hex'in programlama bağlamlarında bu kadar popüler olmasının nedenidir. İkili ve sekizli arasında dönüşüm, üçlü gruplarla aynı ilkeyi izler. 10110111 ikili, (baştaki sıfırla doldurularak) 010 110 111 olur, bu sekizli olarak 267'dir. 52 sekizli, ikili olarak 101 010 olur. Üç bitlik gruplama, modern 8 bitlik bayt mimarileri için sekizliyi hex'ten daha az kullanışlı yapar, bu yüzden hex çoğu programlama bağlamında sekizlinin yerini büyük ölçüde almıştır. Sekizli ve onaltılık arasında dönüşümün doğrudan kısa yolu yoktur. Standart yaklaşım, ara adım olarak ikili üzerinden dönüştürmektir. Sekizli sayıyı ikiliye dönüştürün (her sekizli rakamı üç bite), sonra ikili rakamları dört bitlik parçalara yeniden gruplayın ve hex'e dönüştürün. Örneğin, 375 sekizli, 011 111 101 ikili olur, 0 1111 1101 olarak yeniden gruplanır, bu hex olarak FD'dir. İkili üzerinden geçmek bir adım ekler, ancak süreç tamamen mekaniktir ve pratikle hızlıdır. Farklı tabanlardaki kesirli sayılar aynı konumsal mantığı izler ama negatif kuvvetlerle. Ondalıkta 0.75, 7 çarpı 0.1 artı 5 çarpı 0.01 anlamına gelir. İkilide 0.11, 1 çarpı 0.5 artı 1 çarpı 0.25 anlamına gelir, bu ondalık olarak 0.75'e eşittir. Tüm ondalık kesirler sonlu ikili kesirlere dönüşmez. 0.1 ondalık değeri ikilide 0.0001100110011... şeklinde sonsuz tekrar eder. Bu, bilişimde kayan nokta duyarlılık sorunlarının kök nedenidir. Programlama dilleri, kaynak kodunda sayı tabanlarını ayırt etmek için önekler kullanır. C, Java, JavaScript, Python ve diğer birçok dilde 0b veya 0B ikiliyi (0b1101), 0o veya 0O sekizliyi (0o17) ve 0x veya 0X onaltılığı (0xFF) gösterir. Öneksiz sayılar ondalıktır. Bazı eski C kodu sekizli için baştaki sıfır kullanır (017), bu da biri ondalık 10 bekleyerek 010 yazdığında ama sekizli 8 aldığında yaygın bir hata kaynağıdır. JavaScript'in katı modu ve modern sürümleri, sekizli için açık 0o önekini gerektirerek bunu ele alır. Web geliştirmede renk kodları onaltılığı yoğun olarak kullanır. CSS rengi #3A7BFF, kırmızı kanal için 3A (ondalık 58), yeşil için 7B (123) ve mavi için FF (255) olarak ayrışır. Hex'i anlamak renk değerlerini doğrudan okumanızı ve ayarlamanızı sağlar. Biraz daha koyu mavi mi istiyorsunuz? FF'yi E0'a değiştirin. 128, 64, 32 RGB değerini hex'e dönüştürmek mi istiyorsunuz? Her bileşeni dönüştürün: 128, 80'dir; 64, 40'tır; 32, 20'dir; bu #804020 verir. CSS ayrıca her kanalın tek rakam olduğu kısaltma hex renklerini de destekler: #F00, #FF0000'a (saf kırmızı) genişler. 8 haneli hex renklerdeki alfa kanalı (#3A7BFFCC) aynı hex gösterimini kullanarak saydamlık ekler. Bellek adresleri ve hata ayıklama standart gösterim olarak onaltılık kullanır. 0x7FFF5FBFF8A0 gibi bir bellek adresi gördüğünüzde, bu 12 hex rakamı olarak ifade edilen 48 bitlik bir değerdir. Hata ayıklayıcılar, hex editörler ve bellek döküm araçlarının tümü verileri hex olarak görüntüler çünkü kompakttır, doğrudan ikiliye eşlenir ve bayt sınırlarıyla düzgün hizalanır. Her hex rakam çifti bir bayttır, bu da bayt saymayı ve sınırları tanımlamayı kolaylaştırır. Bir hex dökümü satır başına 16 bayt görüntüler, her bayt iki hex rakamı olarak gösterilir, yanında ASCII karakter temsili bulunur. Bu biçim, ikili dosyaları, ağ paketlerini ve ham disk verilerini incelemek için standart yoldur. Ağ iletişimi, MAC adresleri (48 bit, A4:C3:F0:12:34:56 gibi altı çift olarak görüntülenir) ve IPv6 adresleri (128 bit, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 gibi dört hex rakamdan oluşan sekiz grup olarak görüntülenir) için onaltılığa güvenir. Hex'i anlamak ağ yapılandırması ve sorun giderme için gereklidir. CIDR gösteriminde ifade edilen alt ağ maskeleri, hangi bitlerin ağı ve hangilerinin ana bilgisayarı tanımladığını gösteren ikili temsillere doğrudan eşlenir. Kriptografik özetler sabit uzunlukta onaltılık dizeler üretir. Bir MD5 özeti 32 hex rakamdır (128 bit). SHA-256 özeti 64 hex rakamdır (256 bit). Bir dosya indirmesini yayınlanan bir değerle karşılaştırarak doğruladığınızda, onaltılık okursunuz. Her karakter özet çıktısının 4 bitini temsil eder. Özet değerleri, hex daha kompakt olduğundan ve özetleme algoritmasının ikili çıktısına doğrudan eşlendiğinden ondalık yerine hex olarak görüntülenir. Programlamadaki bitsel işlemler ikili düzeyde çalışır ama okunabilirlik için genellikle hex olarak ifade edilir. 0xFF00 gibi bir bit maskesi, ondalık karşılığı 65280'den ve 1111111100000000 ikili biçiminden daha nettir. Bitsel AND, OR, XOR ve kaydırma işlemleri düşük seviyeli programlamanın, aygıt sürücüsü geliştirmenin, protokol uygulamasının ve performans optimizasyonunun temelidir. Bu işlemleri etkili bir şekilde kullanmak için ikili temsili anlamak önkoşuldur. 1 bit sola kaydırma bir değeri ikiye katlar. 1 bit sağa kaydırma (işaretsiz tamsayılar için) yarıya indirir. Maske ile AND belirli bitleri çıkarır. Maske ile OR belirli bitleri ayarlar. XOR belirli bitleri çevirir. ASCII ve Unicode karakter kodlaması, karakterleri yaygın olarak hex olarak görüntülenen sayısal kodlara eşler. A harfi 0x41'dir (ondalık 65). Boşluk 0x20'dir (ondalık 32). URL kodlaması hex kullanır: %20 bir boşluğu, %3A bir iki noktayı temsil eder. Bu hex değerlerini anlamak, kodlama sorunlarını hata ayıklarken, ikili protokolleri ayrıştırırken veya ham veri akışlarıyla çalışırken yardımcı olur. UTF-8 kodlaması, öncül bitlerin ikili deseninin bayt sayısını gösterdiği değişken uzunlukta bayt dizileri (1 ila 4 bayt) kullanır, bu da bayt düzeyinde metin kodlamasını anlamak için ikili kavramayı gerekli kılar. İkilide işaretli tamsayılar, ikinin tümleyeni denilen bir gösterim kullanır. 8 bitlik ikinin tümleyeni sisteminde değerler -128'den 127'ye kadar uzanır. En yüksek bit işaret bitidir: pozitif için 0, negatif için 1. -1 sayısı 8 bit ikilide 11111111 (hex olarak 0xFF) olarak temsil edilir. -128 sayısı 10000000'dir (0x80). İkinin tümleyeninde bir sayıyı olumsuzlaştırmak için tüm bitleri çevirin ve 1 ekleyin. Örneğin, 8 bit ikilide 5, 00000101'dir. Çevirmek 11111010 verir. 1 eklemek -5'i temsil eden 11111011 verir. İkinin tümleyeni, neredeyse tüm modern işlemcilerde işaretli tamsayılar için standarttır. Anlamak, işaretli aritmetik hata ayıklarken, bellek dökümleri okurken veya ikili protokollerle çalışırken kafa karışıklığını önler. Kayan nokta sayılarının da IEEE 754 standardı tarafından tanımlanan bir ikili gösterimi vardır. 32 bitlik bir kayan nokta 1 işaret biti, 8 üs biti ve 23 mantis bitine sahiptir. 64 bitlik bir çift 1 işaret biti, 11 üs biti ve 52 mantis bitine sahiptir. Bu yüzden kayan nokta aritmetiği şaşırtıcı sonuçlar üretebilir. 0.1 ondalık değeri, tıpkı 1/3'ün ondalıkta tam olarak temsil edilememesi gibi ikili kayan noktada tam olarak temsil edilemez. JavaScript'te 0.1 + 0.2'nin 0.30000000000000004'e eşit olduğunu gördüğünüzde, nedeni ikili gösterim sınırlamalarıdır. Özel değerler pozitif ve negatif sonsuzluk, negatif sıfır ve NaN (sayı değil) içerir; her birinin belirli bit desenleri vardır. Base 64 kodlaması, özellikle ikili verileri yazdırılabilir ASCII metin olarak kodlamak için bilişimde yoğun olarak kullanılan başka bir numaralandırma sistemidir. Base64, verinin 6 bitlik gruplarını temsil etmek için 64 karakter (A-Z, a-z, 0-9, +, /) kullanır. E-posta eklerinde (MIME kodlaması), HTML ve CSS'te veri URI'lerinde, JWT tokenlerinde ve API kimlik doğrulama başlıklarında görünür. Her 3 bayt ikili veri 4 Base64 karakteri olur, yaklaşık %33 boyut artışı sağlar. Base64 şifreleme değildir. Veri taşıma uyumluluğu için kullanılan geri dönüşlü bir kodlamadır. İkili Kodlanmış Ondalık (BCD), her ondalık basamağın 4 bitlik ikili karşılığıyla temsil edildiği, ancak basamakların tek bir ikili sayıda birleştirilmediği hibrit bir sistemdir. 42 ondalık sayısı BCD'de 0100 0010'dir, bu da 42'nin saf ikili temsilinden (101010) farklıdır. BCD, ondalık hassasiyetin önemli olduğu ve ikili kayan nokta yuvarlama hatalarının kabul edilemez olduğu finansal hesaplamalarda, dijital saatlerde ve diğer uygulamalarda kullanılır. Bazı işlemciler BCD aritmetik talimatları içerir. Sayı tabanı dönüşümünün veri sıkıştırma, hata algılama kodları ve dijital elektroniğe uygulamaları vardır. Sıkıştırma algoritmaları doğrudan ikili verilerle çalışır. CRC (Döngüsel Artıklık Denetimi) ve sağlama toplamı hesaplamaları ikili temsiller üzerinde çalışır. Dijital devre tasarımı ikili mantık kapıları ve doğruluk tabloları kullanır. Ondalık, ikili, hex ve sekizli arasında akıcıca hareket edebilmek tüm bu alanlarda temel bir beceridir. Yaygın dönüşüm hataları arasında konumsal değerleri yanlış sayma (konumların 1. kuvvette değil 0. kuvvette başladığını unutma), kodda sekizli ve hex öneklerini karıştıırma, hex baytlarında baştaki sıfırları düşürme (bir bayt değeri için 0A yerine A yazma) ve ikinin tümleyeni kurallarını yanlış uygulama bulunur. Başka bir sık hata, yanlış tabanda aritmetik yapmaktır, örneğin 0x10 ekleyip 10 beklemek gibi; sonuç aslında ondalık olarak 16'dır. WebRecast sayı tabanı dönüştürücü, dönüşümleri anında yaparak ve sonucu dört tabanın tümünde aynı anda göstererek bu hataları ortadan kaldırır. Manuel pratik için, 0'dan F'ye kadar hex değerlerini ve 4 bitlik ikili karşılıklarını ezberleyin. Tek hex rakamları düşünmeden ikiliye ve geri dönüştürebildiğinizde, daha büyük dönüşümler bu bilgiyi rakam rakam uygulamak meselesi olur. Hex 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 ve F, 1111'dir. Bu on altı girişli arama tablosu, bir programcının düşük seviyeli verilerle çalışmak için ezberleyebileceği en yararlı şeydir. 2'nin kuvvetleri en az 2^16'ya (65536) kadar ezberlemeye değer. Dizi şudur: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536. Bu değerler programlama bağlamlarında sürekli görünür. 1024 bayt bir kilobayttır (teknik olarak bir kibibayt). 65535 (2^16 eksi 1) 16 bitlik işaretsiz tamsayı için maksimum değerdir. 2147483647 (2^31 eksi 1) maksimum 32 bitlik işaretli tamsayıdır. Bu sayıları hemen tanımak, arkalarındaki ikili yapıyı size söyler. Bilişimdeki veri boyutları 2'nin kuvvetlerini kullanır ve bayt olarak ifade edilir. Bir bayt 8 bittir. Bir kilobayt 1.024 bayttır (2^10). Bir megabayt 1.048.576 bayttır (2^20). Bir gigabayt 1.073.741.824 bayttır (2^30). Depolama üreticileri genellikle bunun yerine 10'un kuvvetlerini kullanır (1 GB = 1.000.000.000 bayt); bu yüzden 1 TB'lik bir sürücü işletim sisteminizde yaklaşık 931 GiB olarak görünür. IEC önekleri (kibi, mebi, gibi) bu belirsizliği çözmek için tanıtıldı, ancak sektör hala her iki kuralı da kullanır. Veri boyutlarının ikili temelini anlamak, bu sayıların bilişimde neden her yerde göründüğünü açıklar. Hata algılama ve düzeltme kodları ikili aritmetiği yoğun olarak kullanır. Eşlik bitleri, bir-baytlık veri kelimesine, toplam 1 biti sayısını çift (çift eşlik) veya tek (tek eşlik) yapan tek bir bit ekler. Hamming kodları, tek bitlik hataları algılamak ve düzeltmek için 2'nin kuvvetleri olan konumlarda (1, 2, 4, 8, 16) birden çok eşlik biti kullanır. CRC kodları, sağlama toplamları oluşturmak için ikilide polinom bölmesi (toplamanın XOR olduğu GF(2) aritmetiği) kullanır. Bu teknikler güvenilir veri depolama ve iletim için temeldir. Dijital mantığın arkasındaki matematik olan Boole cebiri ikilide çalışır. AND, OR, NOT, XOR, NAND ve NOR kapıları ikili girdiler alır ve ikili çıktılar üretir. Doğruluk tabloları tüm olası girdi kombinasyonlarını ve çıktılarını listeler. Karnaugh haritaları ve Boole sadeleştirme karmaşık ifadeleri minimum kapı uygulamalarına indirir. Basit bir hesap makinesinden modern bir CPU'ya kadar her dijital devre bu ikili mantık kapılarından yapılmıştır. İkiliyi anlamak, donanımın en düşük seviyede nasıl çalıştığını anlamanın giriş noktasıdır. Komut setleri ve makine kodu, CPU'nun doğrudan yürüttüğü ikili dizilerdir. MOV EAX, 5 gibi bir x86 talimatı ikili baytlar olarak kodlanır. Assembly dili, bu ikili talimatlar için insan tarafından okunabilir mnemonikler sağlar. C, Java veya başka bir dilde kod derlediğinizde, derleyici sonuçta ikili makine talimatları üretir. Derlenmiş kodu bir hex editörde görüntülemek, işlemcinin çalıştırdığı ham ikiliyi (hex bayt olarak görüntülenen) ortaya çıkarır. Kuantum bilişim, 0 ve 1'in süperpozisyonlarında var olabilen kubitlerle farklı bir paradigma sunar. Klasik ikili bilişim kesin bitler kullanır. Kuantum bilişim olasılık genlikleri kullanır. Ancak bir kuantum hesaplamanın çıktısı klasik ikili bitler olarak ölçülür. Kuantum ve klasik bilişim arasındaki arabirim hala geleneksel sayı tabanlarını kullanır ve kuantum algoritmaları geleneksel ikili matematik kullanılarak tasarlanır ve analiz edilir. WebRecast sayı tabanı dönüştürücü, dört tabandan herhangi birinde giriş kabul eder ve diğerlerinin tümünde eşdeğer değeri çıkarır. Bir ondalık sayı yazın ve ikili, sekizli ve hex temsillerini görün. Bir hex renk kodu yapıştırın ve ikili biçimini görün. Bir veri sayfasından ikili bir dize girin ve ondalık değeri alın. Dönüşümler yazdıkça gerçek zamanlı olarak gerçekleşir, bu da değerlerin tabanlar arasında nasıl ilişkili olduğunu keşfetmeyi hızlı kılar. Sayı sistemleri arasında hızlı ve doğru bir şekilde hareket etmeniz gerektiğinde kod düzenleyiciniz, hata ayıklayıcınız veya veri analiz araçlarınızın yanında kullanın.

Sık sorulan sorular

What bases are supported?

Binary (2), Octal (8), Decimal (10), and Hexadecimal (16).

İlgili rehberler

İlgili WebRecast bölümleri