اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

بیت اضافه در نوع char استفاده دارد؟

0 امتیاز
63 نمایش

می‌دونیم که کاراکترهای اسکی ۱۲۷ تا هستن و برای ذخیره‌سازی اون‌ها ۷ بیت کافیه. حالا چون بایت ۸ بیت هست (معمولاً البته) و کاراکتر رو یک بایت تعریف می‌کنن یک بیت اضافه داریم. این بیت اضافه به کاری هم می‌آد یا نه؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده سه شنبه ۱۱ تیر ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

استفاده از بیت هشتم گاهی در برنامه‌نویسی C++ مورد نظر هست که جواب روشنی داره.

مجموعه کاراکتر منبع پایه و مجموعه کاراکتر اجرایی پایه که برای نوشتن و اجرای برنامه‌ها در C++ استفاده می‌شن ممکنه اسکی باشن. این درسته. اما دقت کنیم که اون چیزی که در حقیقت مورد استفاده هست مجموعه کاراکتر منبع و مجموعه کاراکتر اجرایی هست که به ترتیب مجموعه‌هایی شامل مجموعه کاراکتر پایه منبع و اجرایی پایه هستن.

یعنی ممکنه یه مجموعه کاراکتر بزرگ‌تر از اسکی که البته باید شامل کاراکترهای اسکی باشه برای استفاده در فایل منبع انتخاب بشه. بنابراین ممکنه به جای ۱۲۷ کاراکتر مثلاً ۱۹۰ کاراکتر داشته باشه.

بنابراین این ممکنه یه مورد کاربردش باشه. کاربرد دیگه‌ی اون استفاده از نوع داده‌ی کاراکتری علامت‌دار یا بدون علامته. همون طور که می‌دونیم در C++ سه نوع داده‌ی کاراکتری داریم. معمولی (char)، علامت‌دار(signed char) و بدون علامت(unsigned char) و کامپایلر هست که تصمیم می‌گیره char رو علامت‌دار در نظر بگیره یا بدون علامت. بنابراین اون یه بیت اضافه برای مشخص کردن علامت هم به کار می‌ره.

اما در مورد دیگه‌ای که از برنامه‌نویسی صحبت نمی‌شه. در ارتباطات دیجیتال مقیاس اطلاعات ارسالی و دریافتی کاراکتر یا همون بایت هست. در این مواقع موقع ارسال یک متن از بیت آخر به عنوان بیت توازن استفاده می‌شه.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده سه شنبه ۱۱ تیر ۱۳۹۲ توسط prodo