খণ্ড আকারে প্রায়শই দু'জনের শক্তি কেন হয়?


15

সেখানে অনেক মাইনক্রাফ্ট ক্লোন রয়েছে এবং আমি আমার নিজস্ব বাস্তবায়নে কাজ করছি। অঞ্চলভিত্তিক রেন্ডারিংয়ের একটি নীতি স্থানীয় পরিবর্তনের প্রচেষ্টা কমাতে পুরো বিশ্বকে স্থির আকারের অংশে টাইল করছে।

মিনক্রাফ্টে খণ্ডের আকার এখন পর্যন্ত আমি 16 x 16 x 256। এবং ক্লোনগুলিতে আমি সর্বদা 2 নম্বর পাওয়ার আকারের আকারগুলিও দেখেছি।

এর কোনও কারণ আছে, সম্ভবত অভিনয় বা স্মৃতি সম্পর্কিত? আমি জানি যে 2 এর শক্তি বাইনারি কম্পিউটারগুলিতে একটি বিশেষ ভূমিকা পালন করে তবে খণ্ড আকারের সাথে এর কী করার আছে?


1
এটি দুর্দান্ত যে আপনি এটিকে দুটি দ্বারা ভাগ করে নিতে পারেন এবং এমনকি সংখ্যাগুলি ফিরে পেতে পারেন। (সম্পূর্ণ উত্তর নয়, তবে একটি সংখ্যা ব্যবহারের জন্য দরকারী কিছু 2^n)
ashes999

উত্তর:


27

এটি খণ্ডগুলির জন্য ব্যবহৃত গেম এবং সূচক কাঠামোর উপর নির্ভর করবে। যদিও, এত উচ্চ স্তরে, এটির স্মৃতিশক্তি বা একটি নির্দিষ্ট কর্মক্ষমতা বর্ধনের সাথে এটির খুব বেশি সম্পর্ক নেই। সম্ভাব্যতার চেয়ে বেশি এটি অনুমানযোগ্য উপায়ে খণ্ডগুলি মাপার জন্য একটি স্বেচ্ছাসেবী সিদ্ধান্ত। এটি বিট শিফটিং ব্যবহার করে কিছু গণনা এবং সূচি কৌশলকে মঞ্জুরি দেয় যা দুটি সংখ্যার শক্তি নয় এমন সংখ্যার সাথে সম্ভব হবে না।

উদাহরণস্বরূপ, দুজনের শক্তিতে গণনা করা বাইনারিতে কিছুটা স্থানান্তর করার মতোই সহজ:

Dec =  Bin
1   =  000001
2   =  000010
4   =  000100
8   =  001000
16  =  010000
32  =  100000

এই শর্টকাটগুলি কোথায় ব্যবহৃত হবে তা নির্ভর করে বিকাশকারী এবং কী সমস্যা তারা সমাধান করার চেষ্টা করছেন on

আপনি যদি খণ্ডগুলি কী আকারের জন্য সিদ্ধান্ত নিচ্ছেন, এবং এটি অন্য কোনও দিক থেকে গুরুত্বপূর্ণ নয়, আপনি সেই সাথে পরিচিত এমন কিছু ব্যবহার করতে পারেন যা আপনার ব্যবহারের জন্য ব্যবহার করছেন benefits


15

প্রথমত, দুটি শক্তির দ্বারা গুণিত করা একটি স্বেচ্ছাসেবী সংখ্যা দ্বারা গুণিত করার চেয়ে অনেক সস্তা, যেহেতু আপনি বিট শিফটিংয়ের মাধ্যমে এটি করতে পারেন । সংকলকটি বেশিরভাগ সময় আপনার জন্য এটি করতে পারে, তাই আপনি যখনই আপনার কোডটিতে "* 16" লিখেন, সংকলকটি আসলে চার দ্বারা একটি স্থান পরিবর্তন করে, এবং আপনাকে এটি সম্পর্কে চিন্তা করার দরকার নেই - আপনাকে কেবল এটি দেওয়ার দরকার আছে এভাবে আপনার ডেটা স্ট্রাকচার ডিজাইন করে সুযোগটি সংকলন করুন।

দ্বিতীয়ত, যেহেতু আপনার কম্পিউটারে ক্যাশে লাইন, মেমরি বাস এবং অন্যান্য তথ্য মহাসড়কগুলিকে দুটি এর শক্তি ব্যবহার করার জন্য ডিজাইন করা হয়েছে, আপনি সামগ্রিকভাবে এইভাবে আরও ভাল পারফরম্যান্স পেতে পারেন।

তৃতীয়ত, আমরা পুরানো গীকগুলি কেবল দু'জনের শক্তি নিয়ে খেলতে অভ্যস্ত, তাই এটি অভ্যাস।

(চতুর্থত, আপনার হার্ডওয়্যার এবং আপনার সংকলকগুলি ডিজাইনকারী অন্যান্য পুরানো গীকগুলিও দু'জনের পাওয়ার পছন্দ করে, তাই এটি খুব শীঘ্রই কোনও পরিবর্তন হবে না)।


2
+1 "তৃতীয়ত, আমরা পুরানো গীকগুলি কেবল দু'জনের শক্তি নিয়ে খেলতে অভ্যস্ত, সুতরাং এটি অভ্যাস।" এটিই সম্ভবত প্রধান কারণ।
লরেন্ট কুইভিডউ

9

আসল উত্তরটি কেবল এটি: একটি বাইনারি কম্পিউটারে দু'জনের শক্তিগুলি দুর্দান্ত গোল সংখ্যা round

যখন কোনও সাধারণ ব্যক্তিকে কোনও উদ্দেশ্যে স্বেচ্ছাসেবী সংখ্যা বাছাই করা হয়, তারা সাধারণত বেস সিস্টেমের সাথে স্বাচ্ছন্দ্যপূর্ণ নম্বর সিস্টেমটিতে দুর্দান্ত গোল সংখ্যা নির্বাচন করে So সুতরাং তারা 10, 100, 1000 ইত্যাদি বেছে নেবে কারণ তারা সহজ এবং সহজ এবং খুব বেশি চিন্তাভাবনা করার প্রয়োজন নেই এবং যথাযথ মানটি তাদের পক্ষে সত্যই গুরুত্বপূর্ণ ছিল না, তারা কেবলমাত্র মাত্রার একটি সাধারণ স্কেল লক্ষ্য করে চলেছিল।

প্রোগ্রামার হিসাবে, যখন আমাদের কোনও উদ্দেশ্যে একটি স্বেচ্ছাসেবী সংখ্যা বাছাই করা দরকার, আমরা সাধারণত সিস্টেম সিস্টেমগুলি যে সংখ্যাগুলি ব্যবহার করি তার সংখ্যা 2 তে খুব ভাল গোল সংখ্যা নির্বাচন করি So সুতরাং আমরা 2, 4, 8 ইত্যাদি বেছে নেব কারণ তারা সহজ এবং সহজ এবং খুব বেশি চিন্তাভাবনা করার প্রয়োজন নেই এবং সঠিক মূল্যটি আমাদের কাছে সত্যই গুরুত্বপূর্ণ ছিল না, আমরা কেবলমাত্র মাত্রার একটি সাধারণ স্কেলকে লক্ষ্য করছি।

এটি আসলে এর চেয়ে জটিল আর কিছু নয়। তারা কেবল দুর্দান্ত গোল সংখ্যা।


6

অন্যান্য উত্তরে উল্লিখিত না হওয়ার একটি কারণ হ'ল প্রয়োজন হলে দুটি সংখ্যার শক্তি সর্বদা অর্ধেক সমস্যা ছাড়াই অর্ধেক করা যায়। এটি সম্ভবত মাইনক্রাফ্ট ক্লোনগুলির কারণ নয়, তবে অন্য কিছু ক্ষেত্রে যেমন মাইপম্যাপসযুক্ত টেক্সচারে রয়েছে ।


2

আর একটি সম্ভাব্য কারণ হ'ল এটি আপনাকে একটি থ্রিডি টেক্সচারের প্রতিটি অংশের তথ্য এনকোড করার অনুমতি দেয়। যদি আপনার টার্গেট হার্ডওয়্যার 3 ডি টেক্সচারকে সমর্থন করে তবে পুরোপুরি দৃust় এবং সাধারণ অ-পাওয়ার-অফ টু টেক্সচার সাপোর্ট না থাকে (যা আমি স্বীকার করি যে আপনি এর চেয়ে কম শুটিং করতে চাইছেন) তবে আপনার খণ্ড আকারের দুটির ক্ষমতা তৈরি করা নয় শুধু আদর্শ - এটি অপরিহার্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.