• اعداد منفی در کامپیوتر قالب نمایش عدد ممیز شناور نمایش اعداد حقیقی

    حداکثر مقدار یک عدد صحیح غیر منفی زمانی به دست می آید که همه سلول ها یک عدد را ذخیره کنند. برای نمایش n بیتی برابر خواهد بود با

    اعداد صحیح غیر منفی. حداقل عدد مربوط به هشت صفر است که در هشت بیت از سلول حافظه ذخیره شده و برابر با صفر است. حداکثر عدد مربوط به هشت واحد و برابر است با

    A = 1 x 2 7 + 1 x 2 6 + 1 x 2 5 + 1 x 2 4 + 1 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 = 1 x 2 8 - 1 = 255 10 .

    محدوده را تغییر دهید اعداد صحیح غیر منفیاعداد: از 0 تا 255

    برای ذخیره سازی اعداد صحیح امضا شدهدو سلول حافظه (16 بیت) اختصاص داده می شود و مهم ترین بیت (سمت چپ) تحت علامت عدد اختصاص داده می شود (اگر عدد مثبت باشد، 0 به بیت علامت نوشته می شود، اگر عدد منفی باشد - 1) .

    نمایش رایانه ای اعداد مثبت با استفاده از قالب علامت-مقدار نامیده می شود کد مستقیمشماره. به عنوان مثال، عدد 2002 10 = 11111010010 2 در 16 بیت به صورت زیر نمایش داده می شود:

    0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0

    حداکثر عدد مثبت (با فرض یک بیت در هر تخصیص علامت) برای اعداد صحیح علامت دار در نمایش n بیتی است:

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

    کد اضافی عدد منفی A ذخیره شده در n سلول 2 n - |A| است.

    کد مکمل این دو، جمع مدول یک عدد منفی A به 0 است، زیرا در محاسبات کامپیوتری n بیتی:

    2n - |A| + |A| = 0،

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

    برای دریافت کد اضافی یک عدد منفی، می توانید از یک الگوریتم نسبتاً ساده استفاده کنید:

    1. مدول عدد را در بنویسید کد مستقیمدر n رقم باینری

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

    3. یکی را به کد بازگشت دریافتی اضافه کنید.

    بیایید کد مکمل این دو را 2002 برای نمایش کامپیوتر 16 بیتی بنویسیم:


    با نمایش n بیتی یک عدد منفی A در کد اضافی، مهم ترین بیت برای ذخیره علامت عدد (یک) اختصاص داده می شود. بقیه بیت ها مثبت هستند.

    برای اینکه عدد مثبت باشد، شرط باید رعایت شود

    |الف| 2 £ n-1.

    بنابراین، حداکثر مقدار مدول عدد A در نمایش n بیتی است:

    سپس حداقل عدد منفی برابر است با:

    بیایید محدوده اعداد قابل ذخیره در RAM را در قالب تعریف کنیم اعداد صحیح بلند امضا شده(چهار سلول حافظه برای ذخیره چنین اعدادی اختصاص داده شده است - 32 بیت).

    حداکثر عدد صحیح مثبت (با در نظر گرفتن تخصیص یک بیت برای هر علامت) عبارت است از:

    A \u003d 2 31 - 1 \u003d 2 147 483 647 10.

    حداقل عدد صحیح منفی:

    A \u003d -2 31 \u003d - 2 147 483 648 10.

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

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

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

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

    A = m × qn 2.3

    جایی که m مانتیس عدد است.
    q پایه سیستم اعداد است.
    n ترتیب عدد است.

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

    1/n £ |m|

    این بدان معنی است که مانتیس باید کسری مناسب باشد و بعد از نقطه اعشار یک رقم غیر صفر داشته باشد.

    بیایید عدد اعشاری 555.55 را که به شکل طبیعی نوشته شده است، با یک مانتیس نرمال شده به شکل نمایی تبدیل کنیم:

    555.55 \u003d 0.55555 × 10 3.

    در اینجا مانتیس نرمال شده عبارت است از: m = 0.55555، توان: n = 3.

    یک عدد ممیز شناور 4 را در حافظه کامپیوتر اشغال می کند ( عدد دقیق معمولی) یا 8 بایت ( عدد دقت دو برابر). هنگام نوشتن یک عدد ممیز شناور، بیت هایی برای ذخیره علامت مانتیس، علامت توان، توان و مانتیس اختصاص داده می شود.

    محدوده اعداد با تعداد ارقام اختصاص داده شده برای ذخیره سازی ترتیب عدد و دقت (تعداد ارقام مهم) با تعداد ارقام اختصاص داده شده برای ذخیره سازی مانتیس تعیین می شود.

    حداکثر عدد و دقت آن را برای قالب تعیین کنید اعداد دقیق معمولیاگر 8 بیت برای ذخیره سفارش و علامت آن و 24 بیت برای ذخیره مانتیس و علامت آن اختصاص داده شود:

    0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
    امضا کنید و سفارش دهید علامت و مانتیس

    حداکثر مقدار ترتیب عدد 1111111 2 = 127 10 خواهد بود و بنابراین، حداکثر مقدار عدد خواهد بود:

    2127 = 1.7014118346046923173168730371588 × 1038.

    حداکثر مقدار مانتیس مثبت:

    2 23 - 1 » 2 23 = 2 (10 × 2.3) » 1000 2.3 = 10 (3 × 2.3) » 10 7 .

    بنابراین حداکثر مقدار اعداد دقیق معمولیبا در نظر گرفتن دقت احتمالی محاسبات، 1.701411 × 10 38 خواهد بود (تعداد ارقام قابل توجه یک عدد اعشاری در این مورد به 7 رقم محدود می شود).

    وظایف

    1.26. جدول را با نوشتن اعداد اعشاری منفی به صورت کدهای مکمل مستقیم، معکوس و دو در نمایش 16 بیتی پر کنید:

    1.27. محدوده نمایش را تعریف کنید اعداد صحیح امضا شده(2 بایت حافظه اختصاص داده شده) در فرمت نقطه ثابت.

    1.28. حداکثر عدد و دقت آن را برای یک قالب تعیین کنید اعداد با دقت دو برابر، اگر 11 بیت برای ذخیره سفارش و علامت آن و 53 بیت برای ذخیره مانتیس و علامت آن اختصاص داده شود.

    اعداد حقیقی در محاسبات ریاضی محدودیتی در محدوده و دقت نمایش اعداد ندارند. با این حال، در رایانه ها، اعداد در ثبات ها و سلول های حافظه با تعداد محدودی رقم ذخیره می شوند. از همین رو دقتنمایندگی اعداد واقعی،قابل نمایندگی در ماشین محدود است و دامنه محدود است.

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

    مثال 4.4.عدد اعشاری 1.756 به صورت اعداد با ترتیب پایه سیستم اعداد به صورت زیر قابل نمایش است:

    1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

    17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

    نشان دهنده یک عدد ممیز شناور نمایش یک عدد نامیده می شود ن در سیستم اعداد پایه q مانند :

    N = m*. qp ,

    جایی که متر - ضریب شامل تمام ارقام عدد (مانتیسا)، پ یک عدد صحیح است که به آن نظم می گویند.

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

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

    مانتیس و سفارش q عدد -ary معمولاً در سیستمی با پایه نوشته می شود q ، و خود پایه در سیستم اعشاری است.

    مثال 4.5.در اینجا نمونه هایی از نمایش عادی یک عدد در سیستم اعشاری آورده شده است:

    2178.01 =0.217801 * 10 4

    0.0045 =0.45 * 10 -2

    مثال هایی به صورت باینری:

    10110.01= 0.1011001 * 2 101 (سفارش 101 2 = 5 10)

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

    مشخصه nعدد نرمال شده بیت به صورت زیر محاسبه می شود: در صورت تخصیص سفارش کبیت، سپس به مقدار واقعی ترتیب ارائه شده در کد اضافی، یک افست برابر با (2 k -1 -1) اضافه کنید.

    بنابراین، ترتیبی که مقادیری در محدوده 128- تا 127+ می گیرد، به ترتیب جابه جا شده در محدوده 0 تا 255 تبدیل می شود. ترتیب جابجایی به عنوان یک عدد بدون علامت ذخیره می شود، که عملیات مقایسه و اضافه کردن را ساده می کند. و سفارشات را کم می کند، و همچنین عملیات مقایسه خود اعداد نرمال شده را ساده می کند.

    تعداد ارقام تخصیص داده شده به ترتیب بر دامنه از کوچکترین عدد غیرصفر تا بزرگترین عددی که می تواند در دستگاه با یک قالب معین نمایش داده شود، تأثیر می گذارد. بدیهی است که هرچه ارقام بیشتری برای ثبت مانتیس اختصاص داده شود، دقت نمایش عدد بیشتر می شود. با توجه به این واقعیت که مهم ترین بیت مانتیس همیشه برای اعداد واقعی عادی 1 است، این مهم ترین بیت در حافظه ذخیره نمی شود.

    هر عدد صحیح باینری حاوی حداکثر متربیت ها را می توان بدون اعوجاج به فرمت واقعی تبدیل کرد.

    جدول 4.3. فرمت های استاندارد برای نمایش اعداد واقعی

    مثال 4.6.نمایش اعداد نرمال شده در قالب تک.

    بیایید نشان دهیم که چگونه عدد 37.16 10 ذخیره می شود. هنگام تبدیل به یک عدد باینری، ترجمه دقیق 100101 به دست نمی آید، (00101000111101011100) - قسمت کسری محصور در پرانتز در دوره تکرار می شود.

    ما عدد را به شکل عادی ترجمه می کنیم: 0.100101 (00101000111101011100) * 2 110

    بیایید یک عدد واقعی را در قالب 32 بیتی نشان دهیم:

    1. علامت عدد "+" است، بنابراین ما 0 را در بیت علامت (31) قرار می دهیم.

    2. برای تنظیم ترتیب، 8 بیت تخصیص داده می شود، به مقدار واقعی ترتیب ارائه شده در کد اضافی، افست (2 7 -1) = 127 را اضافه می کنیم. از آنجایی که سفارش مثبت است، پس کد مستقیم سفارش با کد اضافی مطابقت دارد، سفارش جابجا شده را محاسبه می کنیم: 00000110 + 01111111=10000101

    ترتیب تغییر یافته حاصل را وارد می کنیم.

    3. مانتیس را وارد می کنیم، در حالی که مرتبه بالای مانتیس را حذف می کنیم (همیشه برابر با 1 است).

    تغییر ترتیب

    مانتیس

    در این مثال، ما توانستیم تنها 24 رقم را انتقال دهیم، بقیه رقم ها با از دست دادن دقت در نمایش عدد از بین رفتند.

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

    اعداد صحیح با فرمت نقطه ثابت در حافظه ذخیره می شوند. با این فرمت برای نمایش اعداد، یک ثبات حافظه برای ذخیره اعداد صحیح غیر منفی، متشکل از هشت سلول حافظه (8 بیت) اختصاص داده می شود. هر رقم از سلول حافظه همیشه با همان رقم عدد مطابقت دارد و کاما در سمت راست بعد از کمترین رقم و خارج از شبکه بیت قرار دارد. به عنوان مثال، شماره 110011012 در یک ثبات حافظه مانند زیر ذخیره می شود:

    جدول 4

    حداکثر مقدار یک عدد صحیح غیر منفی که می تواند در یک ثبات در قالب نقطه ثابت ذخیره شود را می توان از فرمول تعیین کرد: 2n - 1، که در آن n تعداد ارقام عدد است. حداکثر عدد در این حالت برابر با 28 خواهد بود - 1 = 25510 = 111111112 و حداقل 010 = 000000002. بنابراین محدوده اعداد صحیح غیر منفی از 0 تا 25510 خواهد بود.

    بر خلاف سیستم اعشاری، در سیستم باینری، در نمایش کامپیوتری یک عدد باینری، هیچ نمادی وجود ندارد که علامت عدد را نشان دهد: مثبت (+) یا منفی (-)، بنابراین، برای نشان دادن اعداد صحیح علامت دار در سیستم باینری. ، از دو قالب نمایش اعداد استفاده می شود: قالب مقدار عدد امضا شده و فرمت مکمل دو. در حالت اول، دو رجیستر حافظه (16 بیت) برای ذخیره اعداد صحیح علامت دار اختصاص داده می شود و مهم ترین بیت (سمت چپ) در زیر علامت عدد استفاده می شود: اگر عدد مثبت باشد، 0 به بیت علامت نوشته می شود. ، اگر عدد منفی باشد، - 1. برای مثال، عدد 53610 = 00000010000110002 در رجیسترهای حافظه به شکل زیر نمایش داده می شود:

    جدول 5

    و یک عدد منفی -53610 = 10000010000110002 به شکل:

    جدول 6

    حداکثر عدد مثبت یا حداقل عدد منفی در قالب عدد امضا شده (با فرض اینکه یک رقم به عنوان علامت نشان داده شود) 2n-1 - 1 = 216-1 - 1 = 215 - 1 = 3276710 = 11111111111111112 است و محدوده اعداد از - 3276710 تا 32767.

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

    برای نمایش اعداد صحیح منفی در این فرمت از متمم Two استفاده می شود که عبارت است از جمع مدول یک عدد منفی به صفر. تبدیل یک عدد صحیح منفی به یک کد اضافی با استفاده از عملیات زیر انجام می شود:


    1) مدول عدد را در یک کد مستقیم در n (n = 16) رقم باینری بنویسید.

    2) کد معکوس عدد را دریافت کنید (همه ارقام عدد را معکوس کنید، یعنی همه یکها را با صفر و صفرها را با یکها جایگزین کنید).

    3) به کد معکوس دریافتی، یک رقم به کمترین رقم اضافه کنید.

    به عنوان مثال برای عدد -53610 در این فرمت مدول 00000010000110002، کد برگشتی 1111110111100111 و کد اضافی 1111110111101000 خواهد بود.

    لازم به یادآوری است که کد اضافی یک عدد مثبت خود شماره است.

    برای ذخیره اعداد صحیح امضا شده فراتر از نمایش کامپیوتر 16 بیتی هنگام استفاده دو رجیستر حافظه(به این فرمت اعداد، فرمت عدد صحیح امضا شده نیز گفته می شود)، از فرمت های عدد صحیح علامت دار و بلند استفاده می شود. چهار رجیستر برای نمایش اعداد در قالب اعداد متوسط ​​(4 x 8 = 32 بیت) و هشت ثبات برای نمایش اعداد در قالب اعداد بلند (8 x 8 = 64 بیت) استفاده می شود. محدوده مقادیر برای قالب اعداد متوسط ​​و بلند به ترتیب: -(231 - 1) ... + 231 - 1 و -(263-1) ... + 263 - 1 خواهد بود.

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

    اعداد واقعی (اعشار متناهی و نامتناهی) در یک کامپیوتر در قالب ممیز شناور پردازش و ذخیره می شوند. با این فرمت برای نمایش یک عدد، موقعیت کاما در رکورد می تواند تغییر کند. هر عدد واقعی K در قالب ممیز شناور را می توان به صورت زیر نشان داد:

    جایی که A مانتیس عدد است. h پایه سیستم اعداد است. p ترتیب عدد است.

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

    برای باینری -

    برای اکتال -

    برای هگز -

    این شکل از نمایندگی نیز نامیده می شود طبیعی . با تغییر ترتیب، کاما در عدد جابجا می شود، یعنی به نظر می رسد به سمت چپ یا راست شناور است. بنابراین، شکل عادی نمایش اعداد نامیده می شود فرم ممیز شناور. عدد اعشاری 15.5، برای مثال، در قالب ممیز شناور می تواند به صورت: 0.155 102; 1.55 101; 15.5 100; 155.0 10-1; 1550.0 10-2 و غیره. این فرم اعشاری ممیز شناور 15.5 هنگام نوشتن برنامه های رایانه ای و وارد کردن آنها به رایانه استفاده نمی شود (دستگاه های ورودی رایانه فقط ضبط داده های خطی را می پذیرند). بر این اساس عبارت (2.7) برای نمایش اعداد اعشاری و وارد کردن آنها به کامپیوتر به فرم تبدیل می شود.

    که در آن P ترتیب عدد است،

    یعنی به جای پایه سیستم اعداد 10 حرف E را به جای کاما یک نقطه می نویسند و علامت ضرب قرار نمی گیرد. بنابراین، عدد 15.5 در ممیز شناور و نماد خطی (نمایش کامپیوتری) به صورت: 0.155E2; 1.55E1; 15.5E0; 155.0E-1; 1550.0E-2 و غیره

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

    کجا |A| - قدر مطلق مانتیس عدد.

    شرط (2.9) به این معنی است که آخوندک باید کسری مناسب باشد و بعد از نقطه اعشار یک رقم غیر صفر داشته باشد، یا به عبارت دیگر، اگر آخوندک بعد از نقطه اعشار یک عدد غیر صفر داشته باشد، به عدد نرمال می گویند. . بنابراین، عدد 15.5 در شکل نرمال شده (مانتیس نرمال شده) به شکل ممیز شناور به این صورت خواهد بود: 0.155 102، یعنی مانتیس نرمال شده A = 0.155 و مرتبه P = 2، یا در نمایش کامپیوتری عدد 0.155 خواهد بود. Е2.

    اعداد ممیز شناور فرمت ثابتی دارند و چهار (32 بیت) یا هشت بایت (64 بیت) از حافظه کامپیوتر را اشغال می کنند. اگر عدد 32 بیت در حافظه رایانه اشغال کند، این یک عدد دقیق معمولی است، اگر 64 بیت باشد، این یک عدد دقت دو برابر است. هنگام نوشتن یک عدد ممیز شناور، بیت هایی برای ذخیره علامت مانتیس، علامت توان، مانتیس و توان اختصاص داده می شود. تعداد ارقام اختصاص داده شده برای ترتیب عدد، محدوده تغییر اعداد را تعیین می کند و تعداد ارقام اختصاص داده شده برای ذخیره سازی مانتیس، دقت تعیین عدد را تعیین می کند.

    هنگام انجام عملیات حسابی (جمع و تفریق) روی اعداد نمایش داده شده در قالب ممیز شناور، رویه زیر (الگوریتم) اجرا می شود:

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

    2) عملیات حسابی روی مانتیس اعداد انجام می شود.

    3) نتیجه نرمال شده است.

    بخش عملی

    موضوع: نمایش اعداد در کامپیوتر فرمت ممیز ثابت و شناور. کد مستقیم، معکوس و اضافی.

    تکرار: تبدیل اعداد صحیح به سیستم اعداد باینری:

    13 10 = آ 2 به همین ترتیب:

    13 10 =1101 2

    1345 10 =10101000001 2


    نمایش اعداد صحیح در کامپیوتر

    تمام اطلاعات پردازش شده توسط رایانه ها به صورت باینری در آنها ذخیره می شود. این ذخیره سازی چگونه انجام می شود؟

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

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

    سلول (8 بیت = 1 بایت)

    کلمه ماشینی

    یک سلول حافظه از تعداد معینی عنصر همگن تشکیل شده است. هر عنصر قادر است در یکی از دو حالت قرار گیرد و یکی از ارقام یک عدد را نشان دهد. به همین دلیل است که هر عنصر سلولی نامیده می شود تخلیه . مرسوم است که ارقام یک سلول را از راست به چپ شماره گذاری می کنند، سمت راست ترین رقم دارای شماره سریال 0 است. این کم اهمیت ترین بیت سلول حافظه است، مهم ترین بیت دارای شماره سریال (n-1) در یک سلول است. سلول حافظه n بیتی

    محتوای هر بیت می تواند 0 یا 1 باشد.

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

    به عنوان مثال، مدرن ترین رایانه های شخصی 64 بیتی هستند، یعنی یک کلمه ماشین و بر این اساس، یک سلول حافظه شامل 64 بیت یا بیت ها.

    بیت - حداقل واحد اندازه گیری اطلاعات. هر بیت می تواند 0 یا 1 باشد. ضرب و شتم همچنین به نام تخلیه سلول های حافظه کامپیوتر

    اندازه استاندارد کوچکترین سلول حافظه هشت بیت است، یعنی هشت رقم باینری. مجموعه ای از 8 بیت واحد اصلی نمایش داده ها است - یک بایت.

    بایت (از انگلیسی بایت - هجا) - بخشی از یک کلمه ماشین، متشکل از 8 بیت، پردازش شده در یک کامپیوتر به عنوان یک کل. روی صفحه - یک سلول حافظه متشکل از 8 بیت - این یک بایت است. کمترین رقم دارای شماره سریال 0 و مهم ترین رقم دارای شماره سریال 7 است.

    8 بیت = 1 بایت

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

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

    اعداد صحیح را می توان در رایانه با علامت یا بدون علامت (مثبت یا منفی) نشان داد.

    اعداد صحیح بدون علامت معمولایک یا دو بایت حافظه را اشغال کندو مقادیر فرمت تک بایتی را از 00000000 قبول کنید 2 به 11111111 2 و در قالب دو بایت - از 00000000 00000000 2 به 11111111 11111111 2 .

    اعداد صحیح امضا شده معمولاً یک، دو یا چهار بایت در حافظه رایانه اشغال می کند، در حالی که سمت چپ ترین (بالاترین) بیت حاوی اطلاعات مربوط به علامت عدد است. علامت مثبت به صورت صفر و علامت منفی به صورت یک کدگذاری می شود.

    1101 2 10101000001 2

    رقم اختصاص داده شده در زیر علامت

    (در این مورد +)

    بیت های مرتبه بالا که در کل بایت گم شده اند با صفر پر می شوند.

    در فناوری رایانه، از سه شکل نوشتن (کدگذاری) اعداد صحیح علامت دار استفاده می شود:سر راست کد , بازگشت کد , اضافی کد .

    کد مستقیم - این نمایش یک عدد در سیستم اعداد باینری است، در حالی که رقم اول به علامت عدد اختصاص داده می شود. اگر عدد مثبت باشد، اولین رقم 0 و اگر عدد منفی باشد، رقم اول یک است.

    در واقع، کد مستقیم تقریباً منحصراً برای اعداد مثبت استفاده می شود.برای نوشتن کد شماره مستقیم، باید:

      یک عدد را به صورت باینری نمایش دهید

      ورودی عدد را با صفر به ماقبل آخر رقم مرتبه بالای یک سلول 8 بیتی یا 16 بیتی اضافه کنید.

      بسته به علامت عدد، بالاترین بیت را با صفر یا یک پر کنید.

    مثال:عدد 3 10 در کد مستقیم فرمت یک بایتی به صورت زیر نمایش داده می شود:


    ساعتislo -3 10 در کد مستقیم یک قالب تک بایتی به نظر می رسد:


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

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

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

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

    الگوریتم به دست آوردن کد اضافی برای یک عدد منفی:

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

    2. یک کد بازگشت دریافت کنید. هر صفر را به یک و هر یک را به صفر تغییر دهید (عدد را معکوس کنید)

    3. 1 را به کد معکوس اضافه کنید

    مثال: بیایید کد اضافی عدد اعشاری - 47 را در قالب 16 بیتی پیدا کنیم.

      بیایید نمایش باینری عدد 47 (کد مستقیم) را پیدا کنیم.

    2. این عدد را معکوس کنید (کد معکوس). 3. به کد معکوس عدد 1 اضافه کنید و رکوردی از این عدد در رم بگیرید.

    مهم!

    برای اعداد مثبت، کدهای مستقیم، معکوس و اضافی یکسان هستند، یعنی. کد مستقیم اعداد مثبت برای نمایش کامپیوتری نیازی به معکوس ندارند!

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

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

    کار عملی:

    تمرین 1. کدهای متمم جلو، عقب و دو اعداد اعشاری زیر را با استفاده از آن بنویسید8 بیتیسلول:

    64 10, - 120 10

    وظیفه 2. کدهای مستقیم، معکوس و اضافی اعداد اعشاری زیر را در یک شبکه 16 بیتی بنویسید

    57 10 - 117 10 - 200 10

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

    نشانه گذاری

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

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

    بنابراین، برای تبدیل یک عدد به یک سیستم اعداد باینری، باید مقداری را که انتخاب کرده ایم، بر 2 تقسیم کنیم. پس از آن، نتیجه و باقیمانده (0 یا 1) به دست می آید. نتیجه را دوباره بر 2 تقسیم کنید و باقیمانده را ذخیره کنید. این روش باید تکرار شود تا نتیجه نیز 0 یا 1 شود. سپس مقدار نهایی و باقی مانده ها را به ترتیب معکوس می نویسیم، همانطور که آنها را دریافت کردیم.

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

    حافظه

    همانطور که می دانید حداقل واحد اطلاعات 1 بیت است. همانطور که قبلا متوجه شدیم، نمایش اعداد در یک کامپیوتر به صورت باینری انجام می شود. بنابراین، هر بیت حافظه توسط یک مقدار اشغال می شود - 1 یا 0.

    از سلول ها برای ذخیره سازی استفاده می شود. هر یک از این واحدها حاوی حداکثر 8 بیت اطلاعات است. بنابراین می توان نتیجه گرفت که حداقل مقدار در هر بخش از حافظه می تواند 1 بایت یا یک عدد باینری هشت رقمی باشد.

    کل

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

    بیایید با ساده ترین گزینه، که نمایش اعداد صحیح در یک کامپیوتر است، شروع کنیم. حافظه رایانه شخصی تعداد بسیار کمی از سلول ها را برای این فرآیند اختصاص می دهد - فقط یک. بنابراین، حداکثر در یک شکاف می تواند مقادیری از 0 تا 11111111 وجود داشته باشد. بیایید حداکثر عدد را به نمادی که به آن عادت کرده ایم ترجمه کنیم.
    X = 1 x 2 7 + 1 x 2 6 + 1 x 2 5 + 1 x 2 4 + 1 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 = 1 x 2 8 - 1 = 255 .

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

    اعداد منفی

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

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

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

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

    مثال ها

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

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

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

    بیایید یک مثال گویا بیاوریم. فرض کنید یک عدد X = - 131 داریم. ابتدا مدول آن |X|= 131 را بدست می آوریم. سپس آن را به سیستم باینری تبدیل می کنیم و در 16 خانه می نویسیم. ما X \u003d 0000000010000011 دریافت می کنیم. پس از معکوس کردن، X \u003d 1111111101111100. "1" را به آن اضافه می کنیم و کد بازگشتی X=1111111101111101 را می گیریم. برای نوشتن در یک مکان حافظه 16 بیتی، حداقل عدد X = - (2 15) = - 32767 است.

    اعداد صحیح بلند

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

    روند ضبط مطلقاً با آنچه در بالا ارائه شد تفاوتی ندارد. بنابراین ما فقط محدوده اعدادی را که می توان در این نوع ذخیره کرد فهرست می کنیم.

    X max \u003d 2 147 483 647.

    X دقیقه \u003d - 2 147 483 648.

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

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

    نقطه شناور

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

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

    برای استاندارد کردن علامت گذاری اعداد ممیز شناور از شرط زیر استفاده می شود که طبق آن قدر مطلق مانتیس باید بزرگتر یا مساوی 1/n و کمتر از 1 باشد.

    اجازه دهید به ما عدد 666.66 داده شود. بیایید آن را به شکل نمایی بیاوریم. به نظر می رسد X \u003d 0.66666 * 10 3. P = 10 و n = 3.

    مقادیر ممیز شناور معمولاً 4 یا 8 بایت (32 یا 64 بیت) اختصاص می یابد. در حالت اول به آن عدد دقیق معمولی و در حالت دوم عدد دقت دوگانه می گویند.

    از 4 بایت اختصاص داده شده برای ذخیره اعداد، 1 (8 بیت) برای داده های مربوط به ترتیب و علامت آن داده می شود و 3 بایت (24 بیت) برای ذخیره مانتیسا و علامت آن مطابق با اصولی که برای مقادیر صحیح انجام می شود، می رود. با دانستن این موضوع می توانیم محاسبات ساده ای انجام دهیم.

    حداکثر مقدار n = 1111111 2 = 127 10 . بر اساس آن، می توانیم حداکثر اندازه یک عدد را که می توان در حافظه کامپیوتر ذخیره کرد، بدست آوریم. X=2 127. اکنون می توانیم حداکثر مانتیسای ممکن را محاسبه کنیم. برابر با 2 23 - 1 ≥ 2 23 = 2 (10 × 2.3) ≥ 1000 2.3 = 10 (3 × 2.3) ≥ 10 7 خواهد بود. در نتیجه یک مقدار تقریبی بدست آوردیم.

    اگر اکنون هر دو محاسبات را با هم ترکیب کنیم، مقداری به دست می‌آید که می‌تواند بدون تلفات در 4 بایت حافظه نوشته شود. برابر با X \u003d 1.701411 * 10 38 خواهد بود. ارقام باقی مانده کنار گذاشته شدند، زیرا دقیقاً این دقت است که این روش ضبط اجازه می دهد تا داشته باشد.

    دقت دو برابر

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

    P \u003d 111111111 2 \u003d 1023 10.

    M \u003d 2 52 -1 \u003d 2 (10 * 5.2) \u003d 1000 5.2 \u003d 10 15.6. گرد می کنیم و حداکثر عدد X = 2 1023 را با دقت "m" بدست می آوریم.

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