بایگانی‌های تگ: Two’s Complement

چاپ مقدار یک نوع داده به باینری

در فایل ضمیمهٔ زیر تابعی بنام printBits نوشته شده که می‌تواند مقدار یک نوع داده را به باینری چاپ کند. این تابع برای جاافتادن مطالب مربوط به باینری مانند سیستم مکمل دو بسیار کمک‌کننده است.

تعریف true و false در زبان سی

در زبان سی می‌توانید با include کردن هدرفایل stdbool.h از دادهٔ bool استفاده کنید. اما می‌خواهیم به صورت دستی آن را بنویسیم. به کد زیر دقت کنید: هدف از آوردن این مثال ساده توجه به 1- است. چرا از 1 بجای 1- استفاده نکردیم؟ برای اجرای شرط هیچ تفاوتی ندارد که ما 1- قرار دهیم […]

اپراتور ~ (Bitwise NOT) در زبان C

اپراتور ~ (Tilde) یا Bitwise NOT یا Bitwise Complement یک اپراتور نقیض یا مکمل یک می‌باشد و این یک اپراتور Unary در زبان سی و سی++ است که وظیفهٔ آن برعکس کردن تمام بیت‌ها است (صفر کردن تمام یک‌ها و یک کردن تمام صفرها). مثلا در یک عدد صحیح ۸ بیتی (مانند دادهٔ char در […]

مکمل یک (One’s Complement) و مکمل دو (Two’s Complement)

مکمل یک و مکمل دو روش‌هایی برای ذخیره و نمایش اعداد صحیح علامت‌دار در کامپیوتر هستند. مکمل ۱ یک عدد دودویی (در مبنای ۲ یا باینری) را می‌توان با صفر کردن تمام یک‌ها و یک کردن تمام صفرها بدست آورد. برای بدست آوردن مکمل ۲ هم باید یک‌ها را به صفر و صفرها را به […]