بایگانی‌های دسته‌بندی: باینری

برنامه‌نویسی GUI در Qt

در این لینک دربارهٔ کتابخانهٔ روشن و نحوهٔ فراخوانی توابع موجود در آن توضیحاتی داده شد. اکنون می‌خواهیم با برنامه‌نویسی GUI در محیط Qt (کیوت)، از این کتابخانه بهره ببریم. با قرار دادن سورس‌کدهای چند نرم‌افزار کاربردی، در مورد GUI Programming نکاتی ارائه شده است. با بررسی این سورس‌کدها می‌توانید نکات کاربردی‌ای را کسب کنید. […]

کتابخانهٔ روشن (roshanlib) نسخهٔ 1.1.3.9

نسخه 1.1.3.9 کتابخانهٔ روشن دارای توابع جدیدی در حوزهٔ ریاضی است. نسخهٔ 1.0.0.0 این کتابخانه را می‌توانید از این لینک و نسخهٔ 1.1.2.4 را می‌توانید از این لینک دانلود کنید. کتابخانهٔ نسخهٔ 1.1.3.9 دارای همان توابعی است که به زبان C در نسخه‌های قبلی نوشته شده بود؛ با این تفاوت که: ۱) توابع درون large_math_c […]

نکاتی دربارهٔ اپراتورهای بیتی (Bitwise Operators)

اپراتور XOR ۱. از اپراتور XOR می‌توان برای معکوس کردن یک یا چند بیت مشخص استفاده کرد. بعنوان مثال:الف) می‌خواهیم بیت‌های دوم، پنجم و هفتم عدد 11101100110 (1894) را معکوس کنیم. باید این عدد را با 1010010 (82)، XOR کنیم. عدد حاصل برابر 11100110100 (1844) می‌شود. بنابراین هرگاه خواستید بیت‌های دوم، پنجم و هفتم یک […]

ضرب دو عدد صحیح با استفاده از اپراتورهای بیتی

روش‌های مختلفی برای ضرب اعداد صحیح وجود دارد. یک روش جالب الگوریتم دهقان روسی (Russian Peasant Algorithm) است. این الگوریتم بدین صورت است که: حاصل ضرب n1 × n2 برابر می‌شود با:اگر n2 یک عدد فرد باشد، آنگاه n1 را یادداشت می‌کنیم و اگر زوج باشد، از آن صرف نظر می‌کنیم. سپس n1 را دو […]

جمع و تفریق دو عدد صحیح با استفاده از اپراتورهای بیتی

کد زیر جمع بین دو عدد صحیح را با استفاده از اپراتورهای بیتی بدست می‌آورد. به این کد دقت کنید: Output: 9 در کد بالا اپراتور XOR جمع بین دو بیت را به ما می‌دهد. هدف از XOR، انجام کارهای زیر است: با استفاده از اپراتور AND می‌توان بیت Carry را بدست آورد. در واقع […]

LSB و MSB

در باینری، سمت راست‌ترین بیت و سمت چپ‌ترین بیت، بیت‌های بسیار مهم و قابل توجهی هستند. اولی LSB می‌باشد که مشخص‌کنندهٔ زوج یا فرد بودن عدد است. LSB سمت راست‌ترین بیت یک عدد باینری است. LSB مخفف کلمهٔ Least Significant Bit است و بمعنای «کم‌ارزش‌ترین بیت» می‌باشد. به LSB، بیت مرتبهٔ پایین (low-order bit) یا […]

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

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

انواع دستگاه عددی

ریاضیات امروزی بر پایه سیستم عددی اعشاری (Decimal) یا همان مبنای ۱۰ است. یعنی برای ساختن یک عدد، ده رقم وجود دارد (از 0 تا 9). در سیستم باینری (Binary) یا دودویی برای ساختن یک عدد فقط دو رقم داریم (صفر و یک). در سیستم هگزادسیمال (Hexadecimal) یا مبنای ۱۶، برای ساختن یک عدد شانزده […]

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

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

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

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