اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

آیا داده‌ی صحیح علامت‌دار و بدون علامت دو نوع متفاوت هستند؟

0 امتیاز
92 نمایش

در زبان C++ داده‌های signed int و unsigned int دو نوع مختلف محسوب می‌شن؟
در زبان ماشین چی؟ با هم فرق دارن؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده دوشنبه ۹ اردیبهشت ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

در زبان ماشین چیزی به نام عدد صحیح باعلامت و بی‌علامت نداریم. (حداقل در ماشین‌های معمولی I386 و IA64 که این طوری هست)

در C++ استفاده از این پیشوند برای وضوح هست وگرنه عملیات ریاضی روی داده‌های باعلامت و بدون علامت در زبان ماشین فرقی نداره.

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

MOV AX, [100]
ADD AX, [176]
MOV [100], AX

و این کد در هر دو مورد یکسان هست. چه هر دو متغیر داخل آدرس 100 و176 علامت‌دار یا هر دو بدون علامت باشن چه یکی علامت‌دار و یکی بدون علامت باشه.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده شنبه ۵ مرداد ۱۳۹۲ توسط prodo