چرا صفر و یک؟!

خیلی وقته سعی میکنم که یه موضوع جالب رو پیدا کنم و در موردش بنویسم و همیشه مینویسم و منتشر نمیکنم،چون باید به مخاطب ارزش گذاشت.

اما امروز گفتم یکی از ایده هامو بنویسم باشد که شما با نظرات با ارزشتون من رو خوشحال گردانید!(جمله رو ببین...)

مدتی هست در مورد معماری کامپیوتر تحقیق میکنم البته خیلی مختصر چون واقعا برای یک کنکوری وقتی نمیماند یا اگر بماند آنقدر استرس زیاد هست که نمیتوان کاری انجام داد.

هر چیزی در دنیای کامپیوتر ها تبدیل به رشته های صفر و یک میشوند(باینری) اما چرا باید به صفر و یک تبدیل شوند؟!من که قبول ندارم.البته زیاد وارد مباحث فنی نمیشوم که مخاطب این پست عام باشد.[1]

طبیعت طی چند میلیون سال هر چی کد بود رو نوشته ، امتحان ، دی باگ و منتشر کرده،DNA کد همه ما موجودات هست(اشاره به پست قبلیم که نوشتم همه چیز برنامه نویسی شده هست).

اما بهترین کدی که نوشته شده ،DNA، از صفر و یک استفاده نمیکنه و به جاش از چهارتا واحد استفاده میکنه یعنی نوکلئوتید های A,C,G,T .

اما مقداری بیشتر مقایسه کنیم:

وقتی من برنامه ای مینویسم مثلا به زبان python ابتدا مفسرِ پایتون اونو تبدیل به زبان ماشین میکنه و سپس اون زبان ماشینی کار مورد نظر رو انجام میده.[2]

طبیعت هم ابتدا DNA را نوشته سپس توسط ریبوزم ها (مفسر) اونو تبدیل به پروتئین (زبان ماشین) میکنه و در نهایت اون پروتئین اعمال سلول رو تغییر میده.

خب که چی؟!

نتیجه اینه که ما انسان ها برنامه ریزی شده هستیم،با مقدار بسیار زیادی اختیار...

نتیجه اصلی:هر چقدر در علم کامپیوتر پیش بریم در انتها به پیشرفته ترین چیزی که خواهیم رسید از قبل موجود هست ، موجودات زنده . پس بهتره کم کم این تغییرات رو انجام بدیم مثلا مبنای 2 رو به مبنای 4 تغییر بدیم و بایت رو از 8 بیت به 3 بیت تغییر بدیم،چون در DNA در سه واحد یک معنی میدهد،نه هر در 8 واحد.در واقع مهندسان این کارو دارن انجام میدن ولی به صورت دیگر مثلا روز به روز معماری را تغییر میدهند 32 بیت 64 بیت فردا 128 بیت و پس فردا ... اما خب مشکل اینجاست که ابتدا باید واحد رو زیاد کنن بعد طول رشته رو.

طبق این موضوع میشه حجم ها رو به شدت کاهش داد مخصوصا حجم های بسیار بالا.

مثلا اگر ما بخواهیم چند عدد 3 رقمی با صفر و یک بسازیم برای هر جایگاه دو انتخاب داریم یعنی 2به توان 3 تا عدد میتونیم تولید کنیم حالا اگ همین اعدد رو بخواهیم با صفر و یک و دو و سه بسازیم در هر جایگاه میتونیم 4 تا عدد بزاریم یعنی 4به توان 3 و یعنی هشت برابر بیشتر از حالت اول.

برای تفهیم بیشتر شما یه تابع نمایی با پایه 2 در نظر بگیری و یه تابع نمایی با پایه 4 در حجم های پایین (اطراف صفر) تفاوت بسیاری ندارند اما هر چه مقدار حجم زیاد میشه تفاوت این دو به بینهایت میل میکنه.نمودار زیر بحث رو روشن تر میکنه.

نمودار x رو طول رشته در نظر بگیرید و y رو تعداد در نظر بگیرید.
نمودار x رو طول رشته در نظر بگیرید و y رو تعداد در نظر بگیرید.

[1]:چقدر هم این موضوع رو رعایت کردم.

[2]:با درنظر گرفتن تفاوت بین زبان مفسری و کامپایلی نوشتم.

اما در آخر فک کنم این مطلب رو افراد زیادی متوجه نشوند چون برای متوجه شدن آن هم باید زیست شناسی بلد باشید و هم مهندسی.بسیار کمه افرادی که این دو تا رو کنارهم داشته باشند،در هر حال من این پست رو می زنم یه دویست سال بعد که به حرفم رسیدن اسممو بزنن تو کتاب های دبیرستان و کل کنکوری ها روحم رو شاد کنن از سختی موضوع ! البته به دو شرط که این مطلب درست باشد و آن موقع هنوز کنکور باشد (:

پ.ن:من جزو نوابیغ نیستم!

پ.ن (97/8/10):نظر نویسنده در مورد تمام این نوشته عوض شده و با مطالعات فراوان اشتباهات موجود در آن را تا حد بسیار زیادی فهمیده است و همچنان در مورد آن مطالعه دارد.با تشکر از راهنمایی های دوستان.