دستگاه اعداد اُکتال نوع دیگری از سیستمهای شمارهگذاری دیجیتالی و کامپیوتری است که البته امروزه به دلیل استفاده از مبنای ۸، کاربرد کمتری دارد.
قواعد کلی دستگاه اعداد اُکتال شباهت بسیار زیادی به سیستم شمارهگذاری هگزادسیمال دارد. اما بر خلاف اعداد هگزادسیمال، برای تبدیل یک عدد باینری به عدد اُکتال، ارقام باینری را باید در گروههای سه بیتی دستهبندی کنیم. هر یک از این دستههای سه بیتی میتواند مقداری بین ۰۰۰ (صفر دهدهی) تا ۱۱۱ (هفت دهدهی) داشته باشد.
از آنجایی که اعداد اُکتال اعدادی در مبنای ۸ هستند، برای نمایش این اعداد میتوان از ۸ رقم متفاوت و از اعداد ۰ تا ۷ استفاده کرد. در فرمول کلی نمایش دستگاههای اعداد، مقدار q مربوط به دستگاه اعداد اُکتال ۸ است.
خصوصیت اصلی دستگاه شمارهگذاری اُکتال، همان ویژگی استفاده از هشت رقم متمایز (۰ تا ۷) در نمایش اعداد است. در اینگونه اعداد، وزن هر رقم با شروع از کمارزشترین بیت (LSB) هشت برابر رقم قبلی است. در تکنولوژیهای قدیمی، استفاده از اعداد اُکتال برای شمارش مقدار ورودیها و خروجیها بسیار رایج بود، زیرا همانند دستگاه اعداد اُکتال، ورودیها و خروجیها نیز در دستههای هشتتایی یا یک بایتی بودند.
به دلیل مبنای ۸ بودن اعداد اُکتال، که نمایانگر تعداد ارقام منحصر به فرد و قابل استفاده در این اعداد نیز هست، در سمت راست و پایین اعداد اُکتال، زیرنویس ۸ قرار داده میشود. به عنوان مثال ۲۳۷۸ نمایشی از یک عدد اُکتال است.
همانند اعداد هگزادسیمال، اعداد اُکتال نیز روش مناسبی برای تبدیل اعداد باینری بزرگ به گروههای فشردهتر و کوچکتر به شمار میروند. اگرچه امروزه از سیستم شمارهگذاری اُکتال کمتر استفاده میشود و استفاده از اعداد هگزادسیمال محبوبتر است؛ لذا عملاً دستگاه اعداد اُکتال کاربرد خود را به عنوان یک سیستم شمارهگذاری دیجیتال از دست داده است.
LSB | عدد اُکتال | MSB | ||||||
۸۰ | ۸۱ | ۸۲ | ۸۳ | ۸۴ | ۸۵ | ۸۶ | ۸۷ | ۸۸ |
۱ | ۸ | ۶۴ | ۵۱۲ | ۴k | ۳۲k | ۲۶۲k | ۲M | ۱۶M |
با وجود اینکه در نمایش اعداد اُکتال تنها میتوان از هشت رقم (۰ تا ۷) استفاده کرد و از هیچ عدد یا حرف بزرگتر از ۸ استفاده نمیشود، اما تبدیل اعداد باینری یا دهدهی به اُکتال از همان قواعد اعداد هگزادسیمال پیروی میکند.
در دستگاه اعداد اُکتال برای شمارش اعداد بزرگتر از هفت، لازم است یک رقم دیگر اضافه کرده و همانند اعداد هگزادسیمال دوباره از صفر شروع کنیم:
۰, ۱, ۲, ۳, ۴, ۵, ۶, ۷, ۱۰, ۱۱, ۱۲, ۱۳, ۱۴, ۱۵, ۱۶, ۱۷, ۲۰, ۲۱ …
باز هم تأکید میکنیم، اعداد ۱۰ یا ۲۰، ده و بیست دهدهی نیستند! بلکه مشابه دستگاه هگزادسیمال، ۰ + ۱ و ۰ + ۲ اُکتال هستند. در جدول زیر ارتباط بین اعداد باینری و اُکتال نشان داده شده است.
عدد اُکتال | عدد باینری ۳ بیتی | عدد دهدهی |
۰ | ۰۰۰ | ۰ |
۱ | ۰۰۱ | ۱ |
۲ | ۰۱۰ | ۲ |
۳ | ۰۱۱ | ۳ |
۴ | ۱۰۰ | ۴ |
۵ | ۱۰۱ | ۵ |
۶ | ۱۱۰ | ۶ |
۷ | ۱۱۱ | ۷ |
۱۰ (۱+۰) | ۰۰۱ ۰۰۰ | ۸ |
۱۱ (۱+۱) | ۰۰۱ ۰۰۱ | ۹ |
… |
همانگونه که مشاهده میشود هر رقم اُکتال معادل سه رقم باینری است. با استفاده از دو رقم اُکتال میتوان تا ۷۷۸ یا ۶۳ دهدهی، با سه رقم اُکتال تا ۷۷۷۸ یا ۵۱۱ دهدهی و با چهار رقم اُکتال تا ۷۷۷۷۸ یا ۴۰۹۵ دهدهی شمرد.
معادل اُکتال عدد باینری ۱۱۰۱۰۱۰۱۱۱۰۰۱۱۱۱۲ را بیابید.
مقدار باینری |
۰۰۱۱۰۱۰۱۰۱۱۱۰۰۱۱۱۱ |
با شروع از سمت راست عدد، ارقام باینری را در گروههای سه بیتی دستهبندی کنید. |
۰۰۱ ۱۰۱ ۰۱۰ ۱۱۱ ۰۰۱ ۱۱۱ |
عدد اُکتال به دست آمده |
۱ ۵ ۲ ۷ ۱ ۷۸ |
در نتیجه، عدد باینری ۰۰۱۱۰۱۰۱۰۱۱۱۰۰۱۱۱۱۲ مساوی است با عدد اُکتال ۱۵۲۷۱۷۸ یا عدد دهدهی ۵۴,۷۳۵.
عدد اُکتال ۲۳۲۲۸ را به معادل دهدهی آن تبدیل کنید.
مقدار اُکتال |
۲۳۲۲۸ |
عدد اُکتال را به فرم یک چند جملهای بنویسید. |
= ( ۲×۸۳ ) + ( ۳×۸۲ ) + ( ۲×۸۱ ) + ( ۲×۸۰ ) |
نتایج به دست آمده را با هم جمع کنید. |
= ( ۱۰۲۴ ) + ( ۱۹۲ ) + ( ۱۶ ) + ( ۲ ) |
معادل دهدهی عدد به دست آمده برابر است با: ۱۲۳۴۱۰ |
در نتیجه میتوان دید که عدد اُکتال ۲۳۲۲۸ با عدد دهدهی ۱۲۳۴۱۰ برابر است. اگرچه دستگاه اعداد اُکتال نیز نوعی سیستم شمارهگذاری دیجیتال است، اما امروزه از آن کمتر استفاده میشود و در عوض دستگاه اعداد هگزادسیمال به علت انعطافپذیری بیشتر، کاربرد بیشتری نیز دارد.