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

    اهداف درس:

    • مطالب مورد مطالعه در مورد سیستم اعداد را تکرار کنید.
    • آموزش تبدیل یک عدد از سیستم اعشاری به هر سیستم اعداد موقعیتی دیگر و بالعکس.
    • تسلط بر اصول تبدیل اعداد از یک سیستم به سیستم دیگر؛
    • توسعه تفکر منطقی

    در طول کلاس ها

    در ابتدای درس مرور و بررسی مختصر تکالیف.

    اطلاعات عددی به چه صورت در حافظه کامپیوتر ارائه می شود؟

    سیستم های اعداد برای چه مواردی استفاده می شوند؟

    چه نوع سیستم های عددی را می شناسید؟ مثال های خود را بیاورید.

    سیستم های موقعیتی چه تفاوتی با سیستم های غیر موقعیتی دارند؟

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

    هر عدد صحیح غیر منفی را نشان می دهد:

    که در سیستم های موقعیتیمقدار نوشتن یک عدد صحیح با قانون زیر تعیین می شود: بگذارید a n a n-1 a n-2 …a 1 a 0 رکوردی از عدد A باشد و i رقمی هستند، سپس

    که در آن p یک عدد صحیح بزرگتر از 1 است که به آن پایه سیستم اعداد می گویند

    برای اینکه، برای یک p معین، هر عدد صحیح غیر منفی را می توان طبق فرمول (1) نوشت و علاوه بر این، به روشی منحصر به فرد، مقادیر عددی ارقام مختلف باید اعداد صحیح متفاوت متعلق به بخش از 0 تا p-1.

    1) سیستم اعشاری

    اعداد: 0،1،2،3،4،5،6،7،8،9

    شماره 5735 = 5 10 3 +7 10 2 +3 10 1 +8 10 0

    2) سیستم سه تایی

    اعداد: 0،1،2

    شماره 201 3 = 2·3 2 +0·3 1 +1·3 0

    نکته: زیرنویس در یک عدد نشان دهنده پایه سیستم اعدادی است که عدد در آن نوشته شده است. برای سیستم اعداد اعشاری، شاخص لازم نیست نوشته شود.

    نمایش اعداد منفی و کسری:

    در تمام سیستم های موقعیتی، مانند سیستم اعشاری از علامت "-" برای نوشتن اعداد منفی استفاده می شود. کاما برای جدا کردن قسمت صحیح یک عدد از قسمت کسری استفاده می شود. مقدار ورودی a n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m عدد A با فرمول تعیین می شود که تعمیم آن است فرمول 1):

    75.6 = 7·10 1 +5·10 0 +6·10 –1

    –2.314 5 = –(2 5 0 +3 5 –1 +1 5 –2 +4 5 –3)

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

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

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

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

    تبدیل یک عدد از سیستم اعشاری به سیستمی با پایه p به معنای یافتن ضرایب در فرمول (2) است. گاهی اوقات انجام این کار با یک انتخاب ساده آسان است. برای مثال، فرض کنید باید عدد 23.5 را به تبدیل کنید سیستم اکتال. به راحتی می توان فهمید که 23.5 = 16+7+0.5 = 2·8+7+4/8 = 2·8 1 +7·8 0 +4·8 –1 =27.48. واضح است که پاسخ همیشه چندان واضح نیست. به طور کلی از روش تبدیل اجزای صحیح و کسری یک عدد به صورت جداگانه استفاده می شود.

    برای تبدیل اعداد صحیح از الگوریتم زیر استفاده می شود (به دست آمده بر اساس فرمول (1)):

    1. ضریب و باقیمانده را هنگام تقسیم عدد بر p پیدا کنید. باقیمانده رقم بعدی ai (j=0,1,2 ...) ورودی عدد در خواهد بود سیستم جدیدحساب کردن.

    2. اگر ضریب برابر با صفر باشد، ترجمه عدد تکمیل می شود، در غیر این صورت نقطه 1 را به ضریب اعمال می کنیم.

    نکته 1. ارقام ai در نماد اعداد از راست به چپ شماره گذاری می شوند.

    نکته 2. اگر p>10 باشد، لازم است برای اعداد با مقادیر عددی بزرگتر یا مساوی 10 علامت گذاری شود.

    عدد 165 را به سیستم شماره سپتال تبدیل کنید.

    165:7 = 23 (باقيمانده 4) => a 0 = 4

    23:7 = 3 (باقیمانده 2) => a 1 = 2

    3:7 = 0 (باقی مانده 3) => a 2 = 3

    بیایید نتیجه را بنویسیم: a 2 a 1 a 0, i.e. 3247.

    پس از بررسی با استفاده از فرمول (1)، مطمئن خواهیم شد که ترجمه صحیح است:

    3247=3·7 2 +2·7 1 +4·7 0 =3·49+2·7+4 = 147+14+4 = 165.

    برای تبدیل قطعات کسری اعداد از الگوریتمی که بر اساس فرمول (2) به دست آمده است استفاده می شود:

    1. جزء کسری عدد را در p ضرب کنید.

    2. قسمت صحیح حاصل، رقم بعدی am (m = –1، –2، –3 ...) از نوشتن عدد در سیستم اعداد جدید خواهد بود. اگر قسمت کسری حاصل صفر باشد، ترجمه عدد تکمیل می شود، در غیر این صورت مرحله 1 را روی آن اعمال می کنیم.

    نکته 1. ارقام a m در نماد اعداد به ترتیب افزایشی قدر مطلق m از چپ به راست مرتب شده اند.

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

    عدد 0.625 را به سیستم اعداد باینری تبدیل کنید.

    0.625 2 = 1.25 (قسمت صحیح 1) => a -1 =1

    0.25 2 = 0.5 (قسمت صحیح 0) => a- 2 = 0

    0.5 2 = 1.00 (قسمت صحیح 1) => a- 3 = 1

    بنابراین 0.62510 = 0.1012

    پس از بررسی با استفاده از فرمول (2)، مطمئن خواهیم شد که ترجمه صحیح است:

    0.1012=1·2 -1 +0·2- 2 +1·2 -3 =1/2+1/8 = 0.5+0.125 = 0.625.

    عدد 0.165 را به سیستم اعداد چهارتایی تبدیل کنید و آن را به چهار رقم چهارتایی محدود کنید.

    0.165 4 = 0.66 (قسمت صحیح 0) => a -1 = 0

    0.66 4 = 2.64 (قسمت صحیح 2) => a -2 = 2

    0.64 4 = 2.56 (قسمت 2 عدد صحیح) => a -3 = 2

    0.56 4 = 2.24 (قسمت صحیح 2) => a -4 = 2

    بنابراین 0.16510" 0.02224

    بیایید یک ترجمه عقب انجام دهیم تا مطمئن شویم که خطای مطلق از 4-4 تجاوز نمی کند:

    0.02224 = 0·4 -1 +2·4 -2 +2·4 -3 +2·4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/ 128 = 21/128 = 0.1640625

    |0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

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

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

    روش خاصی برای تبدیل اعداد برای سیستم هایی با پایه های متعدد استفاده می شود.

    فرض کنید p و q پایه های دو سیستم عددی باشند. اگر p = qn یا q = pn که n یک عدد طبیعی است، این سیستم ها را سیستم های عددی با پایه های متعدد می نامیم. بنابراین، برای مثال، سیستم های اعداد با پایه های 2 و 8، سیستم های اعداد پایه چندگانه هستند.

    اجازه دهید p = qn و شما باید یک عدد را از یک سیستم عددی با پایه q به یک سیستم عددی با پایه p تبدیل کنید. بیایید قسمت های صحیح و کسری عدد را به گروه های n رقمی متوالی در سمت چپ و راست نقطه اعشار تقسیم کنیم. اگر تعداد ارقام در قسمت صحیح یک عدد مضرب n نباشد، باید تعداد صفرهای مربوطه را به سمت چپ اضافه کنید. اگر تعداد ارقام در قسمت کسری یک عدد مضرب n نباشد، به سمت راست صفر اضافه می شود. هر گروه از این ارقام یک عدد است سیستم قدیمیعدد با یک رقم از یک عدد در سیستم شماره جدید مطابقت دارد.

    بیایید 1100001.111 2 را به سیستم اعداد چهارتایی تبدیل کنیم.

    با جمع صفر و انتخاب جفت اعداد، 01100001.11102 به دست می آید.

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

    بنابراین، 1100001.1112 = 01100001.11102 = 1201.324.

    اکنون فرض می کنیم که باید از یک سیستم با پایه q بزرگتر به سیستمی با پایه p کوچکتر منتقل شویم، یعنی. q = pn. در این حالت، یک رقم از یک عدد در سیستم اعداد قدیمی با n رقم از یک عدد در سیستم اعداد جدید مطابقت دارد.

    مثال: بیایید ترجمه قبلی یک عدد را بررسی کنیم.

    1201,324 = 1100001,11102=1100001,1112

    در سیستم هگزادسیمال ارقامی با مقادیر عددی 10،11،12، 13،14،15 وجود دارد. برای تعیین آنها، از شش حرف اول الفبای لاتین A، B، C، D، E، F استفاده کنید.

    در اینجا جدولی از اعداد از 0 تا 16 وجود دارد که در سیستم های اعداد با پایه های 10، 2، 8 و 16 نوشته شده است.

    عدد در سیستم اعشاری 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    به صورت اکتال 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
    به صورت باینری 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
    در هگزادسیمال 0 1 2 3 4 5 6 7 8 9 آ ب سی D E اف 10

    برای نوشتن ارقام هگزا دسیمال نیز می توانید از ارقام کوچک استفاده کنید. نامه ها a-f.

    مثال: عدد 110101001010101010100.11 2 را به سیستم هگزادسیمالحساب کردن.

    از تعدد پایه های سیستم های اعداد (16=2 4) استفاده می کنیم. بیایید اعداد را چهار گروه کنیم و تعداد صفرهای مورد نیاز را به چپ و راست اضافه کنیم

    000110101001010101010100,1100 2

    و با بررسی جدول، به 1A9554، C 16 می رسیم

    نتیجه:

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

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

    تکلیف را یادداشت کنید:

    الف) تاریخ تولد همه اعضای خانواده خود را بنویسید سیستم های مختلفحساب کردن.

    ب) اعداد را از باینری به هشتی و هگزادسیمال تبدیل کنید و سپس با انجام تبدیل های معکوس نتایج را بررسی کنید:

    الف) 1001111110111.011 2;

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

    مثال.عدد 135 را از SS اعشاری به سیستم های اعداد 2 آری، اکتالی و هگزادسیمال تبدیل کنید.

    1) 2) 3)

    وظیفه 2.

    اعداد زیر را به SS باینری، اکتال و هگزادسیمال تبدیل کنید: 1275,973, 172

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

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

    2) ترجمه معکوس اعداد طبق فرمول انجام می شود:

    که در آن A یک عدد معین است،

    g – پایه SS یک عدد معین (=2 برای 2-ary اس اس،برای سایر SS - مشابه)،

    m - تعداد ارقام در قسمت صحیح عدد.

    n - تعداد ارقام در قسمت کسری عدد،

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

    110110 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =54 10

    66 8 =6*8 1 +6*8 0 =48+6=54 10 9A 16 =9*16 1 +10*16 0 =144+10=154 10

    13.4 8 =1*8 1 +3*8 0 +4*8 -1 =8+3+0.5=11.5 10 (این عدد یک کسر اعشاری است)

    وظیفه 3.

    اعداد زیر را به SS اعشاری تبدیل کنید:

    101,11 2 =5,75 10 1011001 2 1011,101 2

    125,7 8 =86 10 1253 8 175,132 8

    A19BA 16 = 2585726… 10 16A3 16 2BAFD 16

    ترجمه اعداد با پایه که توان 2 است و ترجمه معکوس.چنین SS شامل سیستم های اعداد باینری، اکتال، هگزادسیمال است.



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

    10.000.101 2 =205 8

    111.000.101.100 2 =7054 8

    1.011.001.101 2 =1315 8

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

    قانون. از SS باینری تا SS هگزادسیمال: مشابه، اما هر کدام 4 رقم مجزا

    0110.0110.1011 2 = 66B 16

    1011.1111.0111 2 =BF7 16

    10.1010.0111.0001 2 =2A71 16

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

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

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

    1) لازم است قسمت کسری را با یک خط عمودی جدا کنید.

    2) بخش کسری را بر اساس سیستم اعداد جدید ضرب کنید.

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

    4) ضرب جزء کسری تا زمانی انجام می شود که عددی با دقت مشخص شده به دست آید یا در سمت راست خط 0 نباشد.

    0,728 10 =0,564 8

    وظیفه 4.کسرهای مناسب زیر را از SS اعشاری به SS باینری، اکتال، هگزادسیمال تبدیل کنید: .

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

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

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

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

    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 نقطه ای است.

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

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


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

    1.2 باینری

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

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

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

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

    جایی که،
    D عدد اعشاری است که ما به دنبال آن هستیم.
    n- تعداد کاراکترها در یک عدد باینری؛
    الف – عدد به صورت باینری در مقام 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 هگز → باینری

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


    شکل 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، ماسک ها و شبکه ها صحبت خواهیم کرد.

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

    2.3.1. تبدیل اعداد صحیح از یک سیستم عددی به سیستم دیگر

    امکان فرموله کردن الگوریتمی برای تبدیل اعداد صحیح از یک سیستم ریشه ای وجود دارد پ به یک سیستم با پایه q :

    1. پایه سیستم اعداد جدید را با اعداد از سیستم اعداد اصلی بیان کنید و تمام اقدامات بعدی را در سیستم اعداد اصلی انجام دهید.

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

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

    4. یک عدد در سیستم اعداد جدید بنویسید و آن را از آخرین باقی مانده یادداشت کنید.

    مثال 2.12.عدد اعشاری 173 10 را به سیستم اعداد اکتالی تبدیل کنید:

    دریافت می کنیم: 173 10 = 255 8

    مثال 2.13.عدد اعشاری 173 10 را به سیستم اعداد هگزادسیمال تبدیل کنید:

    دریافت می کنیم: 173 10 = 16 بعد از میلاد.

    مثال 2.14.عدد اعشاری 11 10 را به سیستم اعداد باینری تبدیل کنید. راحت تر است که دنباله اقدامات مورد بحث در بالا (الگوریتم ترجمه) را به شرح زیر به تصویر بکشید:

    دریافت می کنیم: 11 10 = 1011 2.

    مثال 2.15.گاهی اوقات نوشتن الگوریتم ترجمه به شکل جدول راحت تر است. بیایید عدد اعشاری 363 10 را به یک عدد باینری تبدیل کنیم.

    تقسیم کننده

    دریافت می کنیم: 363 10 = 101101011 2

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

    امکان فرموله کردن الگوریتمی برای تبدیل کسر مناسب با پایه وجود دارد پ به کسری با پایه q:

    1. پایه سیستم اعداد جدید را با اعداد از سیستم اعداد اصلی بیان کنید و تمام اقدامات بعدی را در سیستم اعداد اصلی انجام دهید.

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

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

    4. قسمت کسری یک عدد را در سیستم اعداد جدید با شروع از قسمت صحیح حاصل ضرب اول بنویسید.

    مثال 2.17.عدد 0.65625 10 را به سیستم اعداد اکتالی تبدیل کنید.

    دریافت می کنیم: 0.65625 10 = 0.52 8

    مثال 2.17.عدد 0.65625 10 را به سیستم اعداد هگزادسیمال تبدیل کنید.

    ایکس 16

    دریافت می کنیم: 0.65625 10 = 0.A8 1

    مثال 2.18.کسر اعشاری 0.5625 10 را به سیستم اعداد باینری تبدیل کنید.

    ایکس 2

    ایکس 2

    ایکس 2

    ایکس 2

    دریافت می کنیم: 0.5625 10 = 0.1001 2

    مثال 2.19.کسر اعشاری 0.7 10 را به سیستم اعداد باینری تبدیل کنید.

    بدیهی است که این روند می تواند به طور نامحدود ادامه یابد و نشانه های جدید بیشتری را در تصویر معادل باینری عدد 0.7 10 ارائه دهد. بنابراین، در چهار مرحله به عدد 0.1011 2 و در هفت مرحله به عدد 0.1011001 2 می رسیم که نمایش دقیق تری از عدد 0.7 10 به صورت باینری است. سیستم شماره وچنین فرآیند بی پایانی در مرحله ای مشخص خاتمه می یابد، زمانی که در نظر گرفته شود که دقت لازم برای نمایش اعداد به دست آمده است.

    2.3.3. ترجمه اعداد دلخواه

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

    مثال 2.20. عدد 17.25 10 را به سیستم اعداد باینری تبدیل کنید.

    دریافت می کنیم: 17.25 10 = 1001.01 2

    مثال 2.21.عدد 124.25 10 را به سیستم هشتی تبدیل کنید.

    دریافت می کنیم: 124.25 10 = 174.2 8

    2.3.4. تبدیل اعداد از پایه 2 به پایه 2 n و بالعکس

    ترجمه اعداد صحیحاگر پایه سیستم اعداد q-ary توان 2 باشد، تبدیل اعداد از سیستم اعداد q-ary به سیستم اعداد 2-ary و برگشت می تواند با استفاده از مقدار بیشتری انجام شود. قوانین ساده. برای نوشتن یک عدد باینری عدد صحیح در سیستم اعداد با پایه q=2 n نیاز دارید:

    1. عدد باینری را از راست به چپ به گروه های n رقمی تقسیم کنید.

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

    مثال 2.22.عدد 101100001000110010 2 به سیستم اعداد هشتگانه تبدیل می شود.

    عدد را از راست به چپ به سه تایی تقسیم می کنیم و زیر هر کدام از آنها رقم هشتی مربوطه را می نویسیم:

    ما نمایش هشتی عدد اصلی را دریافت می کنیم: 541062 8 .

    مثال 2.23.عدد 1000000000111110000111 2 به سیستم اعداد هگزادسیمال تبدیل می شود.

    عدد را از راست به چپ به تتراد تقسیم می کنیم و زیر هر کدام رقم هگزادسیمال مربوطه را می نویسیم:

    ما نمایش هگزادسیمال عدد اصلی را دریافت می کنیم: 200F87 16.

    تبدیل اعداد کسریبرای نوشتن یک عدد دودویی کسری در یک سیستم اعداد با پایه q=2 n، شما نیاز دارید:

    1. عدد باینری را از چپ به راست به گروه های n رقمی تقسیم کنید.

    2. اگر آخرین گروه سمت راست کمتر از n رقم داشته باشد، باید در سمت راست با صفر به تعداد ارقام مورد نیاز تکمیل شود.

    3. هر گروه را به عنوان یک عدد باینری n بیتی در نظر بگیرید و آن را با رقم مربوطه در سیستم اعداد با پایه q=2 n بنویسید.

    مثال 2.24.عدد 0.10110001 2 به سیستم اعداد هشتگانه تبدیل می شود.

    عدد را از چپ به راست به سه تایی تقسیم می کنیم و زیر هر کدام از آنها رقم هشتی مربوطه را می نویسیم:

    ما نمایش هشتی عدد اصلی را دریافت می کنیم: 0.542 8 .

    مثال 2.25.عدد 0.100000000011 2 به سیستم اعداد هگزا دسیمال تبدیل می شود. عدد را از چپ به راست به تتراد تقسیم می کنیم و زیر هر کدام رقم هگزادسیمال مربوطه را می نویسیم:

    ما نمایش هگزادسیمال عدد اصلی را دریافت می کنیم: 0.803 16

    ترجمه اعداد دلخواهبرای نوشتن یک عدد باینری دلخواه در سیستم اعداد با پایه q=2 n، شما نیاز دارید:

    1. قسمت صحیح یک عدد باینری معین را از راست به چپ و قسمت کسری را از چپ به راست به گروه های n رقمی تقسیم کنید.

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

    3. هر گروه را به عنوان یک عدد باینری n بیتی در نظر بگیرید و آن را با رقم مربوطه در سیستم اعداد با پایه q = 2 n بنویسید.

    مثال 2.26.بیایید عدد 111100101.0111 2 را به سیستم اعداد اکتالی تبدیل کنیم.

    اعداد صحیح و کسری عدد را به سه تایی تقسیم می کنیم و زیر هر کدام از آنها رقم هشتی مربوطه را می نویسیم:

    ما نمایش هشتی عدد اصلی را بدست می آوریم: 745.34 8 .

    مثال 2.27.عدد 11101001000,11010010 2 به سیستم اعداد هگزادسیمال تبدیل می شود.

    قسمت های صحیح و کسری عدد را به دفترچه هایی تقسیم می کنیم و زیر هر کدام رقم هگزادسیمال مربوطه را می نویسیم:

    ما نمایش هگزادسیمال عدد اصلی را دریافت می کنیم: 748,D2 16.

    تبدیل اعداد از سیستم های اعداد با پایه q=2n به باینری.برای تبدیل یک عدد دلخواه نوشته شده در سیستم اعداد با پایه q=2 n به سیستم اعداد باینری، باید هر رقم این عدد را با معادل n رقمی آن در سیستم اعداد باینری جایگزین کنید.

    مثال 2.28بیا ترجمه کنیم عدد هگزادسیمال 4AC35 16 سیستم اعداد باینری.

    طبق الگوریتم:

    ما دریافت می کنیم: 1001010110000110101 2 .

    وظایف برای تکمیل مستقل (پاسخ)

    2.38. جدولی را پر کنید که در هر ردیف آن یک عدد صحیح باید در سیستم های اعداد مختلف نوشته شود.

    دودویی

    هشتی

    اعشاری

    هگزادسیمال

    2.39. جدولی را پر کنید که در هر ردیف آن عدد کسری یکسان در سیستم های اعداد مختلف نوشته شود.

    دودویی

    هشتی

    اعشاری

    هگزادسیمال

    2.40. جدولی را پر کنید که در هر ردیف آن یک عدد دلخواه (عدد می تواند شامل یک عدد صحیح و یک قسمت کسری باشد) باید در سیستم های اعداد مختلف نوشته شود.

    دودویی

    هشتی

    اعشاری

    هگزادسیمال

    59.B

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

    سیستم های اعداد موقعیتی

    سیستم های اعداد غیر موقعیتی- سیستم های عددی که در آنها مقدار کمی یک رقم به مکان آن در عدد بستگی ندارد.

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

    من 1 (یک)
    V 5 (پنج)
    ایکس 10 (ده)
    L 50 (پنجاه)
    سی 100 (صد)
    D 500 (پانصد)
    م 1000 (هزار)

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

    IL 49 (50-1=49)
    VI 6 (5+1=6)
    XXI 21 (10+10+1=21)
    MI 1001 (1000+1=1001)

    سیستم های اعداد موقعیتی

    سیستم های اعداد موقعیتی- سیستم های اعدادی که در آنها مقدار کمی یک رقم به مکان آن در عدد بستگی دارد.

    به عنوان مثال، اگر در مورد سیستم اعداد اعشاری صحبت کنیم، در عدد 700 عدد 7 به معنای "هفت صد" است، اما همان عدد در عدد 71 به معنای "هفت ده" و در عدد 7020 - "هفت هزار" است. .

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

      مثلا:
    • دودویی- سیستم اعداد موقعیتی با پایه 2.
    • کواترنر- سیستم اعداد موقعیتی با پایه 4.
    • پنج برابر- سیستم اعداد موقعیتی با پایه 5.
    • هشتی- سیستم اعداد موقعیتی با پایه 8.
    • هگزادسیمال- سیستم اعداد موقعیتی با پایه 16.

    برای حل موفقیت آمیز مسائل در موضوع "سیستم های اعداد"، دانش آموز باید از روی اعداد باینری، اعشاری، هشت و هگزادسیمال تا 16 10 به طور قلب بداند:

    10 ثانیه در ثانیه 2 ثانیه در ثانیه 8 ثانیه در ثانیه 16 ثانیه در ثانیه
    0 0 0 0
    1 1 1 1
    2 10 2 2
    3 11 3 3
    4 100 4 4
    5 101 5 5
    6 110 6 6
    7 111 7 7
    8 1000 10 8
    9 1001 11 9
    10 1010 12 آ
    11 1011 13 ب
    12 1100 14 سی
    13 1101 15 D
    14 1110 16 E
    15 1111 17 اف
    16 10000 20 10

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

    یک عدد به عدد اضافه می شود و عدد جدیدی بدست می آید. اگر مکان واحدها با پایه سیستم اعداد برابر شود، تعداد ده ها را 1 و غیره افزایش می دهیم.

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

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

    به عنوان مثال، بیایید به دریافت اعداد نگاه کنیم سیستم اکتال: به عدد اول (0) 1 اضافه می کنیم، 1 می گیریم. سپس 1 به 1 اضافه می کنیم، 2 می گیریم و غیره. به 7. اگر یک را به 7 اضافه کنیم، عددی برابر با پایه سیستم اعداد به دست می آید، i.e. 8. سپس شما باید مکان ده ها را یک بار افزایش دهید (ما اکتال ده را می گیریم - 10). بدیهی است که اعداد 11، 12، 13، 14، 15، 16، 17، 20، ...، 27، 30، ...، 77، 100، 101...

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

    1 تبدیل اعداد اعشاری صحیح به هر سیستم اعداد دیگری.

    عدد باید بر تقسیم شود پایه سیستم اعداد جدید. اولین باقیمانده تقسیم اولین رقم جزئی عدد جدید است. اگر ضریب تقسیم کمتر یا مساوی با پایه جدید باشد، آن (ضریب) باید دوباره بر پایه جدید تقسیم شود. تقسیم را باید تا زمانی ادامه داد که ضریبی کمتر از پایه جدید بدست آوریم. این بالاترین رقم عدد جدید است (باید به یاد داشته باشید که مثلاً در سیستم هگزا دسیمال، بعد از 9 حروف وجود دارد، یعنی اگر باقیمانده 11 باشد، باید آن را به صورت B بنویسید).

    مثال ("تقسیم بر گوشه"): بیایید عدد 173 10 را به سیستم اعداد اکتالی تبدیل کنیم.


    بنابراین، 173 10 = 255 8

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

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

    مثال: عدد 0.65625 10 را به سیستم اعداد اکتالی تبدیل می کنیم.