PDA

View Full Version : unsigned variable



pouyaa
شنبه 03 دی 1384, 07:13 صبح
چه اتفاقی میفته اگه من یه عدد منفی رو به یه unsigned variable نسبت بدم

mzjahromi
شنبه 03 دی 1384, 08:33 صبح
اتفاق خاصی نمی افته فقط اگه -1 رو بریزی تو یک Unsigned 2 بایتی مقدار 65535 رو توش قرار میده

mohammad222
چهارشنبه 14 دی 1384, 23:49 عصر
سلام به همگی
خدمتتون که عرض بشه اینه که وقتی که در مقدار همیشه مثبتی یه مقدار منفی می ریزیم به فرض درون مقدار unsigned char ch=-1 قرار می دهیم در این صورت برنامه مقدار متمم دو رو در نظر می گیره و سپس عدد بوجود آمده رو به مثبت نشون می ده وبنابر این 1- در متمم دو به عدد 11111111 تبدیل می گردد که همان عدد 255 است .شما برای راحتی می توانید از این فرمول برای محاسبه عدد وارد شده استفاده نمایید:
الف) اگر عدد منفی بود: می بایست عدد 256 را با آن جمع کنید و اگر دوباره جواب منفی بود تا جایی که جواب مثبت شود عدد 256 را با آن جمع کنید و سپس عدد بدست آمده جواب مسئله است
ب) اگر عدد مثبت ولی خیلی بزرگ بود:عدد 256 را از آن کم می کنیم تا جایی که کمتر از 256 برسد بعد آن جوا است
البته این حرف ها که گفته شد برای متغییر های یک بایتی مثبت است و اگر منفی بود مثل بالا عمل کرده و فقط به جای کم کردن یا اضافه کردن 256 از عدد 65536 استفاده می نماییم چون در دو بایت 65536 عدد می تواند جای بگیرد پس با این تفاسیر صحبت دوست عزیزم mzjahromi نیز درست است چون 1-65536 برابر با 65535 خواهد شد.
یا علی مدد

mohammad222
چهارشنبه 14 دی 1384, 23:52 عصر
می بخشید در بالا جمله اشتباه تایپ شده و جمله اصلی اینه
البته این حرف ها که گفته شد برای متغییر های یک بایتی مثبت است و اگر متغییر دو بایتی مثبت بود مثل بالا عمل کرده و فقط به جای کم کردن یا اضافه کردن 256 از عدد 65536 استفاده می نماییم چون در دو بایت 65536 عدد می تواند جای بگیرد پس با این تفاسیر صحبت دوست عزیزم mzjahromi نیز درست است چون 1-65536 برابر با 65535 خواهد شد
به امید ظهور