• مثال هایی با ترجمه به سیستم های اعداد مختلف. تبدیل اعداد به سیستم های اعداد مختلف با یک راه حل

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

    1. سیستم های اعداد

    زمانی که شما هر کاری مرتبط با شبکه های کامپیوتری و فناوری اطلاعات انجام می دهید، به هر حال با این مفهوم مواجه خواهید شد. و به عنوان یک متخصص IT باهوش، باید حداقل کمی این را درک کنید، حتی اگر در عمل به ندرت از آن استفاده کنید.
    ترجمه هر رقم از یک آدرس IP را در نظر بگیرید 98.251.16.138 به سیستم های اعداد زیر:

    • دودویی
    • هشتی
    • اعشاری
    • هگزادسیمال

    1.1 اعشاری

    از آنجایی که اعداد به صورت اعشاری نوشته می شوند، از تبدیل اعشاری به اعشاری صرف نظر می کنیم

    1.1.1 اعشاری → باینری

    همانطور که می دانیم، سیستم اعداد باینری تقریباً در تمام رایانه های مدرن و بسیاری از دستگاه های محاسباتی دیگر استفاده می شود. سیستم بسیار ساده است - ما فقط 0 و 1 داریم.
    برای تبدیل یک عدد با ده به دودویی باید از مدول 2 (یعنی تقسیم عدد صحیح بر 2) استفاده کنید که در نتیجه ما همیشه یا 1 یا 0 در باقیمانده خواهیم داشت. در این حالت نتیجه را می نویسیم. از راست به چپ یک مثال همه چیز را در جای خود قرار می دهد:


    شکل 1.1 - تبدیل اعداد از اعشار به باینری


    شکل 1.2 - تبدیل اعداد از اعشار به باینری

    تقسیم عدد 98 را شرح می دهم 98 را بر 2 تقسیم می کنیم در نتیجه 49 و باقیمانده 0 را داریم سپس تقسیم را ادامه می دهیم و 49 را بر 2 تقسیم می کنیم در نتیجه 24 با باقیمانده 1 خواهیم داشت. و به همین ترتیب به 1 یا 0 در بخش پذیر می رسیم. سپس نتیجه از راست به چپ نوشته می شود.

    1.1.2 اعشاری → هشتی

    سیستم هشتی یک سیستم اعداد صحیح با پایه 8 است. تمام اعداد موجود در آن با محدوده 0 - 7 نشان داده می شوند و برای تبدیل از سیستم اعشاری، باید از مدول 8 استفاده کنید.


    شکل 1.3 - تبدیل اعداد از سیستم اعشاری به هشتی

    تقسیم مشابه سیستم 2-ary است.

    1.1.3 اعشاری → هگزادسیمال

    سیستم هگزادسیمال تقریباً به طور کامل جایگزین سیستم اکتال شده است. پایه 16 دارد، اما از ارقام اعشاری از 0 تا 9 + حروف لاتین از A (شماره 10) تا F (شماره 15) استفاده می کند. هر بار که تنظیمات آداپتور شبکه را بررسی می کنید با آن روبرو می شوید - این آدرس MAC است. هنگام استفاده از IPv6 هم همینطور.


    شکل 1.4 - تبدیل اعداد از سیستم اعشاری به هگزادسیمال

    1.2 باینری

    در مثال قبلی، تمام اعداد اعشاری را به سیستم های اعداد دیگری تبدیل کردیم که یکی از آنها باینری است. حالا بیایید هر عدد را از فرم باینری ترجمه کنیم.

    1.2.1 باینری → اعشاری

    برای تبدیل اعداد از دودویی به اعشاری، باید دو نکته را بدانید. اولی این است که هر صفر و یک دارای ضریب 2 به توان n است که در آن n دقیقاً یک برابر از راست به چپ افزایش می یابد. دوم - بعد از ضرب، همه اعداد باید جمع شوند و عدد را به صورت اعشاری بدست می آوریم. در نتیجه فرمولی مانند زیر خواهیم داشت:

    D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…، (1.2.1)

    جایی که،
    D عدد اعشاری است که ما به دنبال آن هستیم.
    nتعداد کاراکترهای یک عدد باینری است.
    a عدد به صورت دودویی در موقعیت nام (یعنی کاراکتر اول، دوم و غیره) است.
    p ضریب برابر 2.8 یا 16 به توان است n(بسته به سیستم اعداد)

    به عنوان مثال، عدد 110102 را در نظر بگیرید. ما به فرمول نگاه می کنیم و می نویسیم:

    • عدد شامل 5 کاراکتر ( n=5)
    • a 5 = 1، a 4 = 1، a 3 = 0، a 2 = 1، a 1 = 0

    • p = 2 (چون در حال تبدیل از باینری به اعشاری هستیم)

    در نتیجه داریم:

    D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10

    کسانی که عادت دارند از راست به چپ بنویسند، فرم به این صورت خواهد بود:

    D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10

    اما، همانطور که می دانیم، مجموع از ترتیب مجدد شرایط تغییر نمی کند. حالا بیایید اعداد خود را به اعشار تبدیل کنیم.


    شکل 1.5 - تبدیل اعداد از سیستم باینری به اعشاری

    1.2.2 باینری → اکتال

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

    10101001 = 0 10 101 001

    1011100 = 00 1 011 100

    هر گروه از بیت ها یکی از اعداد اکتالی است. برای اینکه بفهمید کدام یک، باید از فرمول 1.2.1 که در بالا نوشته شده برای هر گروه از بیت ها استفاده کنید. در نتیجه به دست خواهیم آورد.


    شکل 1.6 - تبدیل اعداد از سیستم باینری به هشتی

    1.2.3 باینری → هگزادسیمال

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

    110101011 = 000 1 1010 1011

    1011100 = 0 101 1100

    001010000 = 00 0101 0000 = 0101 0000

    هر گروه از بیت ها یکی از اعداد هگزادسیمال است. برای هر گروه از بیت ها از فرمول 1.2.1 استفاده می کنیم.


    شکل 1.7 - تبدیل اعداد از سیستم باینری به هگزادسیمال

    1.3 اکتال

    در این سیستم، ممکن است فقط هنگام تبدیل به هگزادسیمال مشکل داشته باشیم، زیرا بقیه ترجمه به راحتی اجرا می شود.

    1.3.1 Octal → Binary

    هر عدد در سیستم اکتال گروهی از سه بیت در سیستم دودویی است، همانطور که در بالا توضیح داده شد. برای ترجمه، باید از برگه تقلب استفاده کنیم:


    شکل 1.8 - خار برای ترجمه اعداد از سیستم هشتی

    بیایید با استفاده از این جدول اعداد خود را به باینری تبدیل کنیم.


    شکل 1.9 - تبدیل اعداد از هشتی به باینری

    اجازه دهید خروجی را کمی توضیح دهم. اولین عددی که داریم 142 است، یعنی سه گروه سه بیتی وجود خواهد داشت. از خار استفاده می کنیم و می بینیم که عدد 1 001، عدد 4 100 و عدد 2 010 است در نتیجه عدد 001100010 را داریم.

    1.3.2 Octal → Decimal

    در اینجا ما از فرمول 1.2.1 فقط با ضریب 8 (یعنی p=8) استفاده می کنیم. در نتیجه داریم


    شکل 1.10 - تبدیل اعداد از سیستم هشتی به اعشاری

    • عدد شامل 3 کاراکتر ( n=3)
    • a 3 = 1، a 2 = 4، a 1 = 2

    • p = 8 (چون ما از هشتی به اعشاری تبدیل می کنیم)

    در نتیجه داریم:

    D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10

    1.3.3 اکتال → هگزادسیمال

    همانطور که قبلاً نوشته شد، برای ترجمه، ابتدا باید اعداد را به سیستم باینری تبدیل کنیم، سپس از باینری به هگزادسیمال تبدیل کنیم و به گروه های 4 بیتی تقسیم کنیم. می توانید از اسپور زیر استفاده کنید.


    شکل 1.11 - خار برای تبدیل اعداد از سیستم هگزادسیمال

    این جدول به شما کمک می کند تا از باینری به هگزادسیمال تبدیل شوید. حالا بیایید اعداد خود را ترجمه کنیم.


    شکل 1.12 - تبدیل اعداد از هشتی به سیستم هگزادسیمال

    1.4 هگزادسیمال

    در این سیستم، همان مشکل، زمانی که به هشتی ترجمه شده است. اما در ادامه بیشتر در مورد آن.

    1.4.1 هگز → باینری

    هر عدد در سیستم هگزادسیمال یک گروه چهار بیتی در سیستم باینری است، همانطور که در بالا توضیح داده شد. برای ترجمه می توانیم از cheat sheet که در بالا قرار دارد استفاده کنیم. در نتیجه:


    شکل 1.13 - تبدیل اعداد از هگزادسیمال به باینری

    بیایید عدد اول را بگیریم - 62. با استفاده از صفحه (شکل 1.11) می بینیم که 6 برابر 0110 است، 2 برابر 0010 است، در نتیجه عدد 01100010 را داریم.

    1.4.2 هگز → اعشار

    در اینجا ما از فرمول 1.2.1 فقط با ضریب 16 (یعنی p=16) استفاده می کنیم. در نتیجه داریم


    شکل 1.14 - تبدیل اعداد از سیستم هگزادسیمال به اعشاری

    بیایید عدد اول را بگیریم. بر اساس فرمول 1.2.1:

    • عدد شامل 2 کاراکتر ( n=2)
    • a 2 = 6، a 1 = 2

    • p = 16 (چون در حال تبدیل از هگز به اعشاری هستیم)

    در نتیجه داریم

    D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10

    1.4.3 Hex → Octal

    برای تبدیل به سیستم اکتال، ابتدا باید به باینری تبدیل کنید، سپس به گروه های 3 بیتی تقسیم کنید و از جدول استفاده کنید (شکل 1.8). در نتیجه:


    شکل 1.15 - تبدیل اعداد از سیستم هگزا دسیمال به هشتی

    در سخنرانی در مورد آدرس های IP، ماسک ها و شبکه ها خواهد رفت.

    1. شمارش ترتیبی در سیستم های اعداد مختلف.

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

    به منظور یادگیری نحوه ترجمه اعداد از یک سیستم به سیستم دیگر، بیایید درک کنیم که چگونه ضبط متوالی اعداد با استفاده از سیستم اعشاری به عنوان مثال انجام می شود.

    از آنجایی که ما یک سیستم اعداد اعشاری داریم، 10 کاراکتر (رقم) برای ساخت اعداد داریم. شمارش ترتیبی را شروع می کنیم: 0، 1، 2، 3، 4، 5، 6، 7، 8، 9. اعداد تمام شده اند. ظرفیت عدد را افزایش می دهیم و مرتبه پایین را بازنشانی می کنیم: 10. سپس دوباره مرتبه پایین را افزایش می دهیم تا تمام ارقام تمام شود: 11، 12، 13، 14، 15، 16، 17، 18، 19. ترتیب بالا را افزایش دهید. 1 و ترتیب پایین را روی صفر قرار می دهیم: 20. وقتی از همه ارقام برای هر دو رقم استفاده می کنیم (عدد 99 را می گیریم) دوباره ظرفیت رقمی عدد را افزایش می دهیم و ارقام موجود را تنظیم می کنیم: 100. و به همین ترتیب.

    بیایید سعی کنیم همین کار را در سیستم های 2، 3، و 5 انجام دهیم (بیایید نماد سیستم دوم، برای سیستم 3 و غیره را معرفی کنیم):

    0 0 0 0
    1 1 1 1
    2 10 2 2
    3 11 10 3
    4 100 11 4
    5 101 12 10
    6 110 20 11
    7 111 21 12
    8 1000 22 13
    9 1001 100 14
    10 1010 101 20
    11 1011 102 21
    12 1100 110 22
    13 1101 111 23
    14 1110 112 24
    15 1111 120 30

    اگر سیستم اعداد دارای پایه بزرگتر از 10 باشد، باید کاراکترهای اضافی وارد کنیم، مرسوم است که حروف الفبای لاتین را وارد کنیم. به عنوان مثال، برای سیستم هگزادسیمال، علاوه بر ده رقم، به دو حرف (و) نیاز داریم:

    0 0
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
    8 8
    9 9
    10
    11
    12 10
    13 11
    14 12
    15 13

    2. انتقال از سیستم اعداد اعشاری به هر سیستم دیگر.

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

    مثال 1بیایید عدد اعشاری 46 را به سیستم اعداد باینری ترجمه کنیم.

    مثال 2بیایید عدد اعشاری 672 را به سیستم اعداد اکتالی ترجمه کنیم.

    مثال 3بیایید عدد اعشاری 934 را به سیستم اعداد هگزادسیمال ترجمه کنیم.

    3. ترجمه از هر سیستم عددی به اعشاری.

    برای اینکه یاد بگیریم چگونه اعداد را از هر سیستم دیگری به اعشار ترجمه کنیم، بیایید نماد اعشاری آشنا را تجزیه و تحلیل کنیم.
    به عنوان مثال، عدد اعشاری 325 5 واحد، 2 ده و 3 صد است، یعنی.

    در سایر سیستم های اعداد نیز وضعیت دقیقاً به همین منوال است، فقط ما نه در 10، 100 و غیره بلکه در درجه پایه سیستم اعداد ضرب خواهیم کرد. برای مثال، بیایید عدد 1201 را در سیستم اعداد سه تایی در نظر بگیریم. ارقام را از راست به چپ با شروع از صفر شماره گذاری می کنیم و عدد خود را به صورت مجموع حاصلضرب یک رقم در سه برابر درجه یک رقم عددی نشان می دهیم:

    این نماد اعشاری عدد ما است، یعنی.

    مثال 4بیایید عدد اکتال 511 را به سیستم اعداد اعشاری تبدیل کنیم.

    مثال 5بیایید عدد هگزادسیمال 1151 را به سیستم اعداد اعشاری تبدیل کنیم.

    4. انتقال از یک سیستم باینری به یک سیستم با پایه "قدرت دو" (4، 8، 16، و غیره).

    برای تبدیل یک عدد باینری به عددی با پایه "قدرت دو"، باید دنباله دودویی را بر اساس تعداد ارقام برابر درجه از راست به چپ به گروه‌هایی تقسیم کرد و هر گروه را با رقم مربوطه جایگزین کرد. سیستم شماره جدید

    به عنوان مثال، اجازه دهید عدد باینری 1100001111010110 را به هشتی تبدیل کنیم. برای انجام این کار، بیایید آن را به گروه های 3 کاراکتری تقسیم کنیم که از سمت راست شروع می شود (زیرا ) و سپس از جدول مطابقت استفاده کرده و هر گروه را با یک عدد جدید جایگزین می کنیم:

    نحوه ساخت جدول مکاتبات را در بند 1 یاد گرفتیم.

    0 0
    1 1
    10 2
    11 3
    100 4
    101 5
    110 6
    111 7

    آن ها

    مثال 6بیایید عدد باینری 1100001111010110 را به سیستم هگزادسیمال تبدیل کنیم.

    0 0
    1 1
    10 2
    11 3
    100 4
    101 5
    110 6
    111 7
    1000 8
    1001 9
    1010 آ
    1011 ب
    1100 سی
    1101 D
    1110 E
    1111 اف

    5. انتقال از یک سیستم با پایه "قدرت دو" (4، 8، 16، و غیره) به باینری.

    این ترجمه مشابه ترجمه قبلی است که در جهت مخالف انجام شده است: ما هر رقم را با گروهی از ارقام در سیستم باینری از جدول مطابقت جایگزین می کنیم.

    مثال 7بیایید عدد هگزادسیمال C3A6 را به سیستم اعداد باینری ترجمه کنیم.

    برای انجام این کار، هر رقم از عدد را با یک گروه 4 رقمی (زیرا ) از جدول مطابقت جایگزین می کنیم و در صورت لزوم گروه را با صفر در ابتدا تکمیل می کنیم:



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

    ترجمه کل قسمت

    برای تبدیل یک عدد از یک سیستم اعداد اعشاری به هر سیستم دیگری، باید یک تقسیم عدد صحیح از عدد اصلی را بر پایه سیستم اعدادی که می‌خواهید عدد را به آن تبدیل کنید، انجام دهید. در این مورد، باقیمانده تقسیم و ضریب مهم است. ضریب باید بر پایه تقسیم شود تا 0 باقی بماند. پس از آن، تمام باقیمانده ها باید به ترتیب معکوس نوشته شوند - این عدد در سیستم اعداد جدید خواهد بود.

    به عنوان مثال، ترجمه - عدد 25 از اعشار به دودویی به این صورت است:

    با نوشتن باقی مانده ها به ترتیب معکوس، 25 10 = 11001 2 دریافت می کنیم.

    اگر در مورد آن فکر کنید، به راحتی می توانید متوجه شوید که هنگام تبدیل مطلقاً هر عددی به سیستم اعداد باینری، آخرین باقیمانده (یعنی اولین رقم در نتیجه) همیشه برابر با آخرین ضریب است که تبدیل شده است. کمتر از پایه سیستم اعدادی باشد که در آن عدد را ترجمه می کنیم. بنابراین، تقسیم اغلب قبل از اینکه ضریب برابر با صفر شود متوقف می شود - در لحظه ای که ضریب به سادگی از پایه کمتر می شود. مثلا:

    ترجمه از سیستم اعداد اعشاری به هر سیستم اعداد دیگری دقیقاً طبق قوانین مشابه انجام می شود. در اینجا مثالی از تبدیل 393 10 به هگزادسیمال آورده شده است:

    با نوشتن باقی مانده ها به ترتیب معکوس، 393 10 = 189 16 به دست می آید.

    باید بدانید که باقی مانده ها در سیستم اعداد اعشاری به دست می آیند. هنگام تقسیم بر 16، باقیمانده ها ممکن است نه تنها از 0 تا 9، بلکه باقیمانده های 10 تا 15 نیز ظاهر شوند. هر باقیمانده همیشه دقیقاً یک رقم در سیستم اعدادی است که انتقال به آن انجام می شود.

    به عنوان مثال، اگر هنگام تبدیل به سیستم اعداد هگزا دسیمال، باقیمانده های زیر را دریافت کردید (به ترتیبی که باید در عدد نوشته شوند): 10، 3، 15، 7، سپس در سیستم اعداد هگزادسیمال این دنباله از باقی مانده ها با عدد A3F7 16 مطابقت دارند (برخی به اشتباه عدد را 103157 16 می نویسند - قابل درک است که این یک عدد کاملاً متفاوت است و اگر این کار را انجام دهید معلوم می شود که ارقام A تا F نمی توانند در هر عدد هگزادسیمال ظاهر می شود).

    ترجمه کسری

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

    یک عمل ضرب دقیقاً یک علامت اضافی را در سیستم عددی که ترجمه در آن انجام می شود، می دهد.

    دو شرط برای پایان دادن به فرآیند وجود دارد:

    1) در نتیجه ضرب بعدی، در قسمت کسری صفر به دست می آورید. واضح است که هر چقدر این صفر را ضرب کنید باز هم صفر می ماند. این بدان معنی است که عدد دقیقاً از سیستم اعداد اعشاری به عدد صحیح منتقل شده است.

    2) همه اعداد را نمی توان به طور دقیق ترجمه کرد. در این حالت معمولاً با کمی دقت ترجمه می شود. در این مورد، ابتدا مشخص می شود که چند رقم اعشار مورد نیاز است - دقیقاً این تعداد دفعات است که عملیات ضرب باید انجام شود.

    در اینجا مثالی از تبدیل عدد 0.39 10 به سیستم اعداد باینری آورده شده است. دقت - 8 رقم (در این مورد، دقت ترجمه خودسرانه انتخاب می شود):

    اگر قطعات صحیح را به ترتیب مستقیم بنویسیم، 0.39 10 = 0.01100011 2 به دست می آید.

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

    ترجمه عدد 0.39 10 به سیستم اعداد هگزادسیمال به این صورت خواهد بود. دقت - 8 رقم در این مورد، دقت مجدداً خودسرانه انتخاب می شود:

    اگر قسمت های صحیح را به ترتیب مستقیم بنویسیم، 0.39 10 = 0.63D700A3 16 به دست می آید.

    در همان زمان، احتمالاً متوجه شده اید که اجزای صحیح هنگام ضرب در سیستم اعداد اعشاری به دست می آیند. این قسمت های صحیح که هنگام ترجمه قسمت کسری عدد بدست می آیند باید به همان روشی که باقی مانده ها هنگام ترجمه قسمت صحیح عدد تفسیر شوند. یعنی اگر وقتی به یک سیستم اعداد هگزادسیمال ترجمه می‌شود، قسمت‌های صحیح به این ترتیب تبدیل می‌شوند: 3، 13، 7، 10، عدد مربوطه 0.3D7A 16 خواهد بود (و نه 0.313710 16، همانطور که برخی گاهی به اشتباه می‌نویسند. پایین).

    ترجمه یک عدد با یک عدد صحیح و یک جزء کسری

    برای ترجمه یک عدد با یک عدد صحیح و یک جزء کسری باید قسمت صحیح را جداگانه و قسمت کسری را جداگانه ترجمه کنید و بنابراین این دو قسمت را با هم بنویسید.

    به عنوان مثال، 25.39 10 \u003d 11001.01100011 2 (ترجمه قسمت های عدد صحیح و کسری - به بالا مراجعه کنید).

    تبدیل اعداد صحیح کوچک از اعشاری به باینری در ذهن

    از آنجایی که هنگام کار با سیستم های اعداد مختلف، به ویژه هنگام توسعه برنامه ها، اغلب لازم است اعداد صحیح کوچک ترجمه شوند، بنابراین، به طور کلی، منطقی است که 16 عدد اول (از 0 تا 15) را به خاطر بسپارید.

    اما اگر بفهمید که تبدیل ذهنی اعداد صحیح کوچک از 0 به 15 از اعشار به باینری چقدر آسان است، می توانید به سادگی هر بار که به آن نیاز دارید، بخش قابل توجهی از جدول را در ذهن خود محاسبه کنید. این عمل را بارها انجام دهید و در برخی مواقع خودتان نمی توانید درک کنید - قبلاً جدول را حفظ کرده اید یا هنوز در حال محاسبه هستید.

    بنابراین، برای تبدیل یک عدد صحیح مثبت کوچک بین 0 و 15 از اعشاری به باینری، اولین چیزی که باید درک کرد این است که هر موقعیت در عدد باینری با توان دو مطابقت دارد. در عین حال، قدرت های دو برای موقعیت های 0 تا 3 بسیار آسان است - این اعداد 1، 2، 4 و 8 هستند:

    و عدد 10 2 به اضافه 8 است:

    خوب، عدد 0 گناهی است که نباید به خاطر بسپارید، زیرا برای به دست آوردن آن، نیازی به اضافه کردن چیزی نیست.

    برچسب ها: سیستم اعداد، ترجمه سیستم اعداد، سیستم های اعداد مرتبط

    تغییر پایه برای سیستم های اعداد موقعیتی

    در یک سیستم اعداد موقعیتی با پایه q، یک عدد را می توان به صورت چند جمله ای نشان داد

    ... + a 2 ∙q 2 + a 1 q 1 + a 0 ∙q 0 + a -1 ∙q -1 + a -2 ∙q -2 + ...

    که در آن ضرایب a i ارقام سیستم اعداد با پایه q هستند.

    به عنوان مثال، در سیستم اعداد اعشاری

    124.733 = 1∙10 2 + 2∙10 1 + 4∙10 0 + 7∙10 -1 + 3∙10 -2 + 3∙10 -3

    تعداد ارقام در سیستم اعداد با پایه q برابر است با q، در حالی که رقم حداکثر برابر است با q - 1. رقم نمی تواند برابر با q شود، زیرا در این صورت واحد به یک بیت جدید منتقل می شود.

    به عنوان مثال، شما باید حداقل پایه سیستم اعدادی را که در آن عدد 7832 نوشته شده است، پیدا کنید، از آنجایی که حداکثر رقم 8 است، حداقل مقدار q = 8 + 1 = 9 است.

    اساس سیستم اعداد می تواند در اصل هر عددی باشد: عدد صحیح، منفی، گویا، غیر منطقی، مختلط و غیره. ما فقط پایه های اعداد صحیح مثبت را در نظر خواهیم گرفت.

    پایه 2 و پایه هایی که قدرت های دو - 8 و 16 هستند، مورد توجه ما هستند.

    در صورتی که اساس با. بزرگتر از ده، سپس ارقام جدید به ترتیب از حروف الفبا گرفته می شوند. به عنوان مثال، برای سیستم هگزادسیمال، این اعداد 0، 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C، D، E، F خواهند بود.

    ترجمه قسمت صحیح سیستم اعداد اعشاری

    اولین راه برای تبدیل از اعشار به n-ary تقسیم متوالی عدد بر پایه جدید است.

    123/12 = 10 (3) 10/12 = 0 (10=A)

    ما به ترتیب معکوس، ابتدا آخرین مقدار را جمع آوری می کنیم (این 0 است)، سپس تمام باقیمانده ها را از بالا به پایین جمع می کنیم. 0A3 = A3 می گیریم

    4563/8 = 570 (3) 570/8 = 71 (2) 71/8 = 8 (7) 8/8 = 1 (0)

    با بازگرداندن آن، 10723 دریافت می کنیم

    3349 10 → X 16

    3349/16 = 209 (5) 209/16 = 13 (1) 13/16 = 0 (13 = D)

    کنار هم قرار دادن: 0D15 = D15

    545/2 = 272 (1) 272/2 = 136 (0) 136/2 = 68 (0) 68/2 = 34 (0) 34/2 = 17 (0) 17/2 = 8 (1) 8/2 = 4 (0) 4/2 = 2(0) 2/2 = 1 (0) 1/2 = 0(1)

    جمع آوری 01000100001 = 1000100001

    ترجمه روی کاغذ معمولاً با تقسیم به یک ستون انجام می شود. تا زمانی که تقسیم به صفر منتهی شود، هر پاسخ بعدی بر مبنای c تقسیم می شود. با. در پایان، پاسخ از باقی مانده تقسیم جمع آوری می شود.

    همچنین اغلب امکان ترجمه یک عدد به s دیگر وجود دارد. با. ، اگر در ذهن آن را به عنوان مجموع درجات پایه مربوطه ای که می خواهیم عدد را به آن تبدیل کنیم نشان دهیم.

    به عنوان مثال، 129 بدیهی است 128 + 1 = 2 7 + 1 = 10000001 2

    80 = 81 - 1 = 3 4 - 1 = 10000 - 1 = 2222 3

    تبدیل به سیستم اعشاری قسمت صحیح

    ترجمه با استفاده از نمایش عدد در سیستم اعداد موقعیتی انجام می شود. لازم است A3 12 → X 10 ترجمه شود. معلوم است که A3 3∙q 0 + A∙q 1 است، یعنی 3*1 + A*12 = 3 + 120 = 123

    10723 8 → X 10

    1∙q 4 + 0∙q 3 + 7∙q 2 + 2∙q 1 + 3∙q 0 = 1∙8 4 + 0 + 7∙8 2 + 2∙8 + 3 = 1∙4096 + 7∙64 + 2∙8 + 3 = 4563

    D∙16 2 + 1∙16 1 +5∙16 0 = 13∙256 + 16 + 5 = 3349

    1000100001 2 → X 10

    2 9 + 2 5 + 1 = 512 + 32 + 1 = 545.

    ترجمه روی کاغذ معمولاً به شرح زیر انجام می شود. بالای هر رقم به ترتیب عدد مدرک را بنویسید. سپس تمام شرایط از قبل نوشته شده است.

    تبدیل جزء کسری از سیستم اعشاری

    در طول ترجمه قسمت کسری، اغلب موقعیتی رخ می دهد که کسر اعشاری نهایی به یک بی نهایت تبدیل می شود. بنابراین، معمولاً هنگام ترجمه، دقت لازم برای ترجمه نشان داده می شود. ترجمه با ضرب متوالی قسمت کسری در پایه سیستم اعداد انجام می شود. در این حالت کل قسمت به عقب متمایل می شود و جزء کسر می شود.

    0.625 10 → X 2

    0.625 * 2 = 1.250 (1) 0.25 * 2 = 0.5 (0) 0.5 * 2 = 1.0 (1)

    0 - ضرب بیشتر فقط صفر می دهد
    از بالا به پایین جمع می کنیم، 0.101 می گیریم

    0.310 → X2 0.3 * 2 = 0.6 (0) 0.6 * 2 = 1.2 (1) 0.2 * 2 = 0.4 (0) 0.4 * 2 = 0.8 (0) 0.8 * 2 = 1.6 (1) 0.6 * 2 (1 = 1. )

    0.2 ... کسر تناوبی می گیریم
    ما جمع آوری می کنیم، 0.0100110011001 می گیریم ... = 0.0 (1001)

    0.64510 ← X5 0.645 * 5 = 3.225 (3) 0.255 * 5 = 1.275 (1) 0.275 * 5 = 1.375 (1) 0.375 * 5 = 1.875 (1) 0.874 (1) 0.875 (1) 5 (1 )…

    0.3111414… = 0.311(14)

    تبدیل یک جزء کسری به سیستم اعشاری

    با ضرب رقم تخلیه در پایه به درجه ای برابر با موقعیت تخلیه در عدد، به طور مشابه ترجمه قسمت صحیح انجام می شود.

    0.101 2 → X 10

    1∙2 -1 + 0∙2 -2 + 1∙2 -3 = 0.5 + 0.125 = 0.625

    0.134 5 → X 10

    1∙5 -1 + 3∙5 -2 +4∙5 -3 = 0.2 + 3∙0.04 + 4∙0.008 = 0.2 + 0.12 + 0.032 = 0.352

    ترجمه از سیستم اعداد دلخواه به دلخواه

    انتقال از یک سیستم اعداد دلخواه به یک s دلخواه. با. با استفاده از اعشار انجام شد. با.

    X N → X M ≡ X N → X 10 → X M

    مثلا

    1221201 3 → X 7

    1221201 3 = 1∙3 6 + 2∙3 5 + 2∙3 4 + 1∙3 3 + 2∙3 2 + 1 = 729 + 2∙243 + 2∙81 + 27 + 9 + 1 = 1414 10

    1414/7 = 202 (0) 202/7 = 28 (6) 28/7 = 4 (0) 4/7 = 0 (4)

    1221201 3 → 4060 7

    سیستم های اعداد مرتبط

    سیستم‌های اعداد زمانی مرتبط نامیده می‌شوند که پایه‌های آن‌ها توان‌های یک عدد باشند. به عنوان مثال، 2، 4، 8، 16. ترجمه بین سیستم های اعداد مرتبط را می توان با استفاده از جدول انجام داد.

    جدول تبدیل بین سیستم های عددی مرتبط با پایه 2
    10 2 4 8 16
    0 0000 000 00 0
    1 0001 001 01 1
    2 0010 002 02 2
    3 0011 003 03 3
    4 0100 010 04 4
    5 0101 011 05 5
    6 0110 012 06 6
    7 0111 013 07 7
    8 1000 020 10 8
    9 1001 021 11 9
    10 1010 022 12 آ
    11 1011 023 13 ب
    12 1100 030 14 سی
    13 1101 031 15 D
    14 1110 032 16 E
    15 1111 033 17 اف

    برای ترجمه از یک سیستم اعداد مرتبط به سیستم دیگر، ابتدا باید عدد را به باینری تبدیل کنید. برای تبدیل به سیستم اعداد باینری، هر رقم از عدد با دو (برای چهارتایی)، سه (برای هشت) یا چهار (برای هگزا دسیمال) جایگزین می شود.

    برای 123 4، یک با 01، دو با 10، سه با 11 جایگزین می شود، ما 11011 2 را دریافت می کنیم.

    برای 5721 8 به ترتیب 101، 111، 010، 001، کل 101111010001 2

    برای E12 16 ما 111000010010 2 دریافت می کنیم

    برای ترجمه از سیستم باینری، باید عدد را به دو (چهارم)، سه تا (هشتم) یا چهار عدد (شانزدهم) تقسیم کنید و سپس آن را با مقادیر مربوطه جایگزین کنید.

    روش های تبدیل اعداد از یک سیستم اعداد به سیستم دیگر.

    ترجمه اعداد از یک سیستم اعداد موقعیتی به سیستم دیگر: ترجمه اعداد صحیح.

    برای تبدیل یک عدد صحیح از یک سیستم اعداد با پایه d1 به دیگری با پایه d2، باید این عدد و ضرایب حاصل را به ترتیب بر پایه d2 سیستم جدید تقسیم کنید تا ضریب از پایه d2 کمتر شود. آخرین ضریب بالاترین رقم در سیستم اعداد جدید با پایه d2 است و اعداد بعد از آن باقیمانده های تقسیم هستند که به ترتیب معکوس دریافت آنها نوشته می شود. عملیات حسابی را در سیستم عددی که عدد ترجمه شده در آن نوشته شده است انجام دهید.

    مثال 1. عدد 11(10) را به سیستم اعداد باینری تبدیل کنید.

    جواب: 11(10)=1011(2).

    مثال 2. عدد 122 (10) را به سیستم اعداد اکتالی تبدیل کنید.


    جواب: 122(10)=172(8).

    مثال 3. عدد 500(10) را به سیستم اعداد هگزادسیمال تبدیل کنید.


    پاسخ: 500(10)=1F4(16).

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

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

    هنگام ترجمه اعداد مختلط، لازم است طبق قوانین ترجمه اعداد صحیح و کسرهای مناسب، اجزای صحیح و کسری را جداگانه به سیستم جدید ترجمه کنید و سپس هر دو نتیجه را در یک عدد مختلط در سیستم اعداد جدید ترکیب کنید.

    مثال 1. عدد 0.625(10) را به سیستم اعداد باینری تبدیل کنید.


    پاسخ: 0.625 (10) = 0.101 (2).

    مثال 2. عدد 0.6 (10) را به سیستم اعداد هشتگانه تبدیل کنید.


    پاسخ: 0.6(10)=0.463(8).

    مثال 2. عدد 0.7 (10) را به هگزادسیمال تبدیل کنید.


    پاسخ: 0.7(10)=0.B333(16).

    اعداد باینری، هشت و هگزادسیمال را به اعشار تبدیل کنید.

    برای تبدیل عدد سیستم P-ary به اعشاری، باید از فرمول بسط زیر استفاده کنید:
    anan-1…a1a0=anPn+ an-1Pn-1+…+ a1P+a0.

    مثال 1. عدد 101.11(2) را به سیستم اعداد اعشاری تبدیل کنید.

    پاسخ: 101.11(2)= 5.75(10) .

    مثال 2. عدد 57.24 (8) را به سیستم اعداد اعشاری تبدیل کنید.

    پاسخ: 57.24 (8) = 47.3125 (10) .

    مثال 3. عدد 7A,84(16) را به سیستم اعداد اعشاری تبدیل کنید.

    پاسخ: 7A,84(16)= 122.515625(10) .


    تبدیل اعداد هشت و هگزادسیمال به باینری و بالعکس.

    برای تبدیل یک عدد از هشتی به باینری، هر رقم از این عدد باید به صورت یک عدد دودویی سه رقمی (سه رقمی) نوشته شود.

    مثال: عدد 16.24(8) را به صورت باینری بنویسید.


    پاسخ: 16.24(8)= 1110.0101(2) .

    برای تبدیل یک عدد باینری به سیستم اعداد اکتالی، باید عدد اصلی را به سه گانه در سمت چپ و راست نقطه اعشار تقسیم کنید و هر گروه را به عنوان یک عدد در سیستم اعداد هشتی نشان دهید. سه گانه های ناقص شدید با صفر تکمیل می شوند.

    مثال: عدد 1110.0101(2) را به صورت هشتی بنویسید.


    پاسخ: 1110.0101(2)= 16.24(8) .

    برای تبدیل یک عدد از سیستم اعداد هگزادسیمال به باینری، هر رقم از این عدد باید به صورت یک عدد باینری چهار رقمی (تتراد) نوشته شود.

    مثال: عدد 7A,7E(16) را در سیستم اعداد باینری بنویسید.


    پاسخ: 7A,7E(16)= 1111010,0111111(2) .

    نکته: صفرهای ناچیز سمت چپ برای اعداد صحیح و در سمت راست برای کسرها ثبت نمی شوند.

    برای تبدیل یک عدد باینری به سیستم اعداد هگزا دسیمال، باید عدد اصلی را به تتراد در سمت چپ و راست نقطه اعشار تقسیم کنید و هر گروه را به عنوان یک عدد در سیستم اعداد هگزا دسیمال نشان دهید. سه گانه های ناقص شدید با صفر تکمیل می شوند.

    مثال: عدد 1111010.0111111(2) را به صورت هگزادسیمال بنویسید.