Sabit sürücüdeki Onaltılık depolama özel sınırlamaları nelerdir? [çift]


-1

Bilgisayar uzmanı olmadığımı söyleyerek önsözleneceğim. Benim sorum bir merak noktası olarak yayınlandı.

Cevapları bulmak için web'i araştırırken , onaltılık sayının sabit bilgileri sayısal olarak saklamak için kullanılabileceğini bildirmiştim . Hatta bu sitede sordum ve çok iyi yazılmış ve mantıklı cevaplar aldım. Ancak, onaltılık sayının sayısal bilgileri bir sabit sürücüde saklamak için kullanılabileceğini iddia edenlerin olduğu pek çok site var. Not: Kaydet, gösterme .

Bu gibi durumlarda geçerli olan mantık, onaltılık basamakların yarım bayt ya da küçük uçlu olmasından dolayı, bir karakter kümesinden yalnızca normal sayısal değer büyüklüğüne sahip olmalarıdır.

Bir karakter kümesinden oluşturulmuş 100 basamak uzunluğunda bir sayıyı temsil etmek için kullanılan her 100 bayt için , altıgen basamaklarla aynı sayı sırasını saklamak için yalnızca 42 bayt kullanılabilir. Denklem: [100 log 10 / log 16] bu görüşü desteklemek için kullanılmıştır.

Bununla birlikte, diğerleri bir sabit sürücüde onaltılık asıl bilginin depolanmasının o kadar verimli olmadığını iddia etti çünkü onaltılık basamaklar (AF) 8 bitlik ya da 1 bayt gerektiren tam karakterler olarak saklanacaktı . Örneğin, 1A34B7'yi saklamak için sayısal bölümler için yarım bayt yerine sabit sürücüde tam bayt ile temsil edilen en az iki onaltılık basamak gerekir. Değeri yarım bayt olarak görüntüleyebilir, ancak depolama bir kez devreye girdiğinde, onaltılık karakterin tam bayt kullanması gerekir.

Bu senaryonun gerçekliği nedir?

Teşekkür ederim.


Bence sen bir kilit noktayı kaçırdın. Kayıtlı numara yok (taban 10 veya taban 16). Sadece kayıtlı bilgiler ve bunları yorumlama biçimleriniz var.
Hennes

Ve sorulan yorum onaltılık bir sabit diskte nasıl depolanacağı ve yukarıdaki senaryoda bu bilgiyi nasıl yorumlayacağı? Teşekkür ederim.
JJ,

Lütfen belirttiğiniz bu sitelere link verin.
talaş

Yanıtlar:


0

Sanırım kafandaki birkaç konuyu karıştırıyorsun.

100 sayısını bir bilgisayarda saklamak zorunda olsaydınız, tek bir bayt işgal edecek olan onaltılık, onaltılık 0x64 değerinde depolanırdı. Elbette bazı uyarılar var. 100 sayısının bir diskte üç baytlık bir değer olarak depolanması son derece iyidir, ancak bu genellikle bir bilgisayar bir metin akışını metin olarak değerlendirdiğinde olur.

Asıl depolama ortamı açısından, Çoğu durumda, ortam birden fazla verinin depolanmasına izin verirse, üretici bunu kullanmaya çalışacaktır. Örneğin, shingled depolama (diskler için) veya TLC (SSD için) yoluyla depolamanın iyileştirilmesi. Bununla birlikte, temel yöntem ne olursa olsun, sonuçta üreticinin bayt olarak bir depolama numarası sağlaması gerekir.


Teşekkürler Claris. FF gibi onaltılık rakamların aynı zamanda bir tam bayt olarak depolanacağını varsaymanın güvenli olacağını düşünüyorum, değil mi?
JJ

1
"100 sayısını bir bilgisayarda saklamak zorunda olsaydınız, ikili, onaltılık 0x64 olarak depolanırdı" - Tamamen doğru değil. Sadece bir sayısal formattan, tek bir bayt tamsayıdan bahsediyorsunuz. Ayrıca, çok-bye tamsayı, sabit nokta, kayan nokta, BCD, ASCII ve diğer olası kodlar da var (ör. Gray kodu). Uygulama programı ( "üretici" değil ), hangi formatta seçerse onu depolayabilir.
talaş

3
İkili genellikle çoğu işlemcideki verilerin yerel temsili olarak düşünülür. Ancak bu genellikle geliştirici veya başka amaçlar için uygun değildir. Onaltılık, ondalık veya sekizli genellikle daha uygundur. Ancak bunlar genellikle aynı şeyi temsil etmenin farklı yollarıdır ve dahili depolama için çok az anlamı vardır. Dahili depolama, en verimli olanı olacaktır. Bunun depolama verimliliği, erişim verimliliği veya bir miktar uzlaşma olacağı, geliştiricinin vermesi gereken bir karardır.
LMiller7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.