پرش به محتویات

مبنای سه متوازن

"کامپیوتر Setun با استفاده از سیستم مبنای سه متوازن"

این یک دستگاه اعداد غیر استاندارد اما همچنان موضعی است. ویژگی آن این است که ارقام می‌توانند یکی از مقادیر -1، 0 و 1 را داشته باشند. با این وجود، مبنای آن همچنان 3 است (چون سه مقدار ممکن وجود دارد). از آنجایی که نوشتن -1 به عنوان یک رقم راحت نیست، در ادامه از حرف Z برای این منظور استفاده خواهیم کرد. اگر فکر می‌کنید این یک سیستم عجیب است - به تصویر نگاه کنید - در اینجا یکی از کامپیوترهایی است که از آن استفاده می‌کند.

در اینجا چند عدد اول که در مبنای سه متوازن نوشته شده‌اند، آمده است:

    0    0
    1    1
    2    1Z
    3    10
    4    11
    5    1ZZ
    6    1Z0
    7    1Z1
    8    10Z
    9    100

این سیستم به شما اجازه می‌دهد مقادیر منفی را بدون علامت منفی پیشوند بنویسید: شما می‌توانید به سادگی ارقام هر عدد مثبت را معکوس کنید.

    -1   Z
    -2   Z1
    -3   Z0
    -4   ZZ
    -5   Z11

توجه داشته باشید که یک عدد منفی با Z و یک عدد مثبت با 1 شروع می‌شود.

الگوریتم تبدیل

نمایش یک عدد معین در مبنای سه متوازن از طریق نمایش موقت آن در دستگاه اعداد مبنای سه معمولی آسان است. وقتی یک مقدار در مبنای سه استاندارد است، ارقام آن 0، 1 یا 2 هستند. با پیمایش از کم‌ارزش‌ترین رقم، می‌توانیم با خیال راحت از هر 0 و 1 عبور کنیم، اما 2 باید به Z تبدیل شود و به رقم بعدی 1 اضافه گردد. رقم 3 نیز باید با همین شرایط به 0 تبدیل شود - چنین ارقامی در ابتدا در عدد وجود ندارند اما ممکن است پس از افزایش برخی از 2ها با آنها مواجه شویم.

مثال ۱: بیایید 64 را به مبنای سه متوازن تبدیل کنیم. ابتدا از مبنای سه معمولی برای بازنویسی عدد استفاده می‌کنیم:

$$ 64_{10} = 02101_{3} $$

بیایید آن را از کم‌ارزش‌ترین رقم (راست‌ترین) پردازش کنیم:

  • 1، 0 و 1 همانطور که هستند، نادیده گرفته می‌شوند. (زیرا 0 و 1 در مبنای سه متوازن مجاز هستند)
  • 2 به Z تبدیل می‌شود و رقم سمت چپ خود را یک واحد افزایش می‌دهد، بنابراین به 1Z101 می‌رسیم.

نتیجه نهایی 1Z101 است.

بیایید آن را با جمع کردن مقادیر موضعی وزن‌دار به سیستم ده‌دهی برگردانیم:

$$ 1Z101 = 81 \cdot 1 + 27 \cdot (-1) + 9 \cdot 1 + 3 \cdot 0 + 1 \cdot 1 = 64_{10} $$

مثال ۲: بیایید 237 را به مبنای سه متوازن تبدیل کنیم. ابتدا از مبنای سه معمولی برای بازنویسی عدد استفاده می‌کنیم:

$$ 237_{10} = 22210_{3} $$

بیایید آن را از کم‌ارزش‌ترین رقم (راست‌ترین) پردازش کنیم:

  • 0 و 1 همانطور که هستند، نادیده گرفته می‌شوند. (زیرا 0 و 1 در مبنای سه متوازن مجاز هستند)
  • 2 به Z تبدیل می‌شود و رقم سمت چپ خود را یک واحد افزایش می‌دهد، بنابراین به 23Z10 می‌رسیم.
  • 3 به 0 تبدیل می‌شود و رقم سمت چپ خود را یک واحد افزایش می‌دهد، بنابراین به 30Z10 می‌رسیم.
  • 3 به 0 تبدیل می‌شود و رقم سمت چپ خود را (که به طور پیش‌فرض 0 است) یک واحد افزایش می‌دهد، و بنابراین به 100Z10 می‌رسیم.

نتیجه نهایی 100Z10 است.

بیایید آن را با جمع کردن مقادیر موضعی وزن‌دار به سیستم ده‌دهی برگردانیم:

$$ 100Z10 = 243 \cdot 1 + 81 \cdot 0 + 27 \cdot 0 + 9 \cdot (-1) + 3 \cdot 1 + 1 \cdot 0 = 237_{10} $$

مسائل تمرینی