PDA

View Full Version : تفاوت carry flag و overflo flag



mahdi bg
پنج شنبه 29 آذر 1386, 15:34 عصر
سلام
تفاوت carry flag و overflo flag چیه؟
ممنون

Delphi Coder
جمعه 14 دی 1386, 17:32 عصر
overflow تقریبا عین carry flag هست با این تفاوت که برای عملیات با اعداد علامت دار(Signed) هست.

mahdi bg
چهارشنبه 03 بهمن 1386, 05:30 صبح
سلام
میشه بگید کی overflow برابر یک میشه
کی برابر صفر

saeedIRHA
چهارشنبه 03 بهمن 1386, 08:17 صبح
اگر حوصله داری اینو بخون:
http://en.wikipedia.org/wiki/Binary_numeral_system

اگر نه این مثال فک کنم کافی باشه


binary:

part one:
1 1 1
+ 1 0
------
1 Carry Flag= 0

part two:
1 1 1
+ 1 0
------
= 0 1 Carry flag =1 reason: 1+1=2,
Two in binary "1 0"
part three:
1 1 1
+ 1 0
--------
= 1 0 0 1 Carry flag now = 0 reason: 1+1=2 but it is last part!

mahdi bg
چهارشنبه 03 بهمن 1386, 17:47 عصر
سلام
یک سوال داشتم در مورد overflow اگه کسی بتونه راهنمایی کنه
ممنون میشم
چرا




(3-2) overflow=0
((-2)-(-3)) overflow=0
((-10)-(120)) overflow=1
((3)-(3)) overflow=0
((3)-(-1)) overflow=0
((2)-(3)) overflow=0
((-10)-(120)) overflow=1

MRHagh
سه شنبه 16 بهمن 1386, 19:51 عصر
در اصل overflow flag برای کنترل اعتبار عملیات های ریاضی هست . به این معنی که اگر در یک عملیات جواب حاصل از نظر علامت یا اندازه ، معتبر نبود این فلگ برابر یک میشود در غیر این صورت بدیهی است که صفر است .
carry flag هم در تقابل مستقیم با overflow flag کار میکنه ، یعنی در اصل کنترل اعتبار عملیات ها با carry flag کنترل میشه که overflow flag فقط از وقوع آنها از طریق carry flag آگاه میشه و به سیستم از طریق مقدار 0 یا 1 گزارش میده .
carry flag در اصل حاوی مقدار رقم نقلی به بیرون ، پس از انجام یک عملیات مثل جمع هست ، کنترل اعتبار به این صورت انجام میشه که اگر رقم نقلی به روی اولین بیت یک عدد(بیت ها رو از سمت چپ به راست بشمارید) که طبیعتا در یک ثبات نگهداری میشود ، با رقم نقلی ای که بیرون میرود و در carry flagذخیره میشود ، برابر نبود ، در این صورت این عملیات نا معتبر است ، بنابر این برای گزارش این وضعیت ، مقدار overflow flag یک خواهد شد . حتما هم میدونید که کلیه عملیات ها به صورت باینری انجام میشه ، پس تمام ارقام یا 0 هستند یا 1 . همینطور امیدوارم که جمع و تفریق باینری رو هم بلد باشی تا بهتر مطالب بالا رو درک کنی .
اگر متوجه نشدی ، با توضیح بیشتر در خدمتتون خواهم بود !