SORU
10 Kasım 2008, PAZARTESİ


Neden C dere işaretsiz karakter yerine char kullanıyor?

Hep C Standart kütüphane örneği var neden merak etmişimdir basic_[ıo]akışı ve tüm türevleri unsigned char türü yerine char türünü kullanarak. Uygulama tanımlı yol açacaktır değişkenlerin değer yer. char (imzalı olup olmadığına bağlı olarak) almak gibi işlemler için taşma ve yetersizlik durumu olabilir(), Başka bir örnek, bir bayt çıkış, bir başka biçimlendirilmemiş etmek istediğinizde put fonksiyonunu kullanıyor.

Herhangi bir fikir?

< / ^ hr .

NotHala çok emin değilim. Eğer kesin cevabı biliyorsanız, hala gerçekten gönderebilirsiniz.

CEVAP
10 Kasım 2008, PAZARTESİ


Muhtemelen soruyu yanlış yaptım, ama imzasız char char dönüşüm için uygulama-bağımlı (C standart 4.7-3) belirsiz değil.

C 1-bayt karakter bir tür "", "imzasız char". char Bu verir uygulamaları biraz daha fazla özgürlük için yaptığım en iyi şey bu platform (örneğin, standartlar, vücut olabilir inanan var CPU nerede imzalı bayt aritmetik ve daha fazlası işaretsiz bayt aritmetik, ancak bu spekülasyon benim için). Ayrıca C varoluşsal belirsizlik bu tür kaldırma sonucu C C. ile uyumluluk için# ;-)

Verilen bu "char" tipi, her zamanki akışları onun signedness tanımlı olmasa bile bunu kullanmak için mantıklı bence var. Belki Sorunuzun cevabı ile cevap verdi, "neden" C " imzasız olduğu için char tanımlamış olmuyor mu?"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011