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

برنامه امضاء محاسبهٔ عدد Pi تا ۱۵۰۰۰ رقم اعشار

دربارهٔ برنامه‌های امضاء قبلا در این صفحه توضیحاتی داده شد. برنامه امضاء زیر، تا ۸۰۰ رقم اعشار عدد Pi را چاپ می‌کند: برنامهٔ بالا را بشکل زیر نیز می‌توان نوشت: برنامه امضاء زیر، تا ۱۵۰۰۰ رقم اعشار عدد Pi را چاپ می‌کند: دربارهٔ نحوهٔ عملکرد و الگوریتم مورد استفاده در این برنامه‌ها، می‌توانید فایل PDF […]

LSB و MSB

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

توکن (Token)

توکن (Token) در لغت بمعنای: علامت، نشانه، رمز، علامت رمزی، یادآور و یادبود می‌باشد. در واقع توکن چیزی است که نشان‌دهندهٔ چیز دیگری است (چه مادی و چه غیر مادی)؛ مانند یک شیء یا یک مفهوم انتزاعی. مثلا یک هدیه را می‌توان بعنوان یک توکن در نظر گرفت؛ زیرا نشانه‌ای (رمزی) از ارزش قائل شدن […]

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

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

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

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

برنامه‌های امضاء (Signature programs)

برنامه‌های امضاء (Signature programs) برنامه‌های کوتاهی هستند که برنامه‌نویس‌ها به‌عنوان امضای خود استفاده می‌کنند. این برنامه‌ها برنامه‌های کوچکی‌اند (معمولا بین ۲ تا ۴ خط) و باید در فضای کوچکی نوشته شوند. این برنامه‌ها رمزآلود هستند و معمولا به زبان C نوشته می‌شوند چون زبان سی زبان جمع‌وجوری است و این امکان را برای برنامه‌نویس فراهم […]

نوشتن تابعی شبیه به printf با عملکرد مشابه

در مطالب قبلی آموزش داده شد که چطور تابعی با آرگومان‌های متغیر بسازیم. در این پست نیز فایلی ضمیمه شده که در آن تابعی شبیه به printf و با نام tiny_printf نوشته شده که عملکردی مشابه به آن دارد (البته با کارایی کمتر). در این مثال تعداد آرگومان‌ها را به تابع ارسال نمی‌کنیم و به […]

آموزش نوشتن تابع با آرگومان‌های متغیر در زبان C

شاید برایتان سوال پیش آمده باشد که چطور تابعی مانند printf بنویسیم که تعداد آرگومان‌هایش متغیر باشد. برای اینکار باید از هدرفایل stdarg.h استفاده کنیم. هنگام تعریف تابع باید پارامترهای متغیر را بصورت … (سه‌نقطه) تعریف کنیم. بعد از include کردن هدرفایل stdarg.h، باید یک داده از نوع va_list تعریف کنیم که اطلاعات آرگومان‌ها را […]

حل معادلهٔ برج هانوی (Tower of Hanoi) به روش بازگشتی

برج هانوی (Tower of Hanoi) از سه میله و تعدادی دیسک در اندازه‌های متفاوت تشکیل شده است که می‌توان آن‌ها را بر میله‌ها قرار داد. هدف انتقال تمام دیسک‌ها از میلهٔ مبدأ به میلهٔ مقصد با رعایت این ۲ شرط است: در هر زمان فقط یک دیسک را می‌توان جابجا نمود و نباید در هیچ […]

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

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