- তোমাদের অধিকাংশই হিসাবে সম্ভবত জানেন, (বাইট-Addressable) হার্ডওয়্যার স্মৃতি দুটি বিভাগ ভাগে ভাগ করা যায় অল্প endian এবং বড় endian । সামান্য-এডিয়ান স্মৃতিতে বাইটগুলি সংখ্যাটি 0 দিয়ে শুরু হয় সামান্য (অন্তত গুরুত্বপূর্ণ) শেষে এবং বিগ-এন্ডিয়ানগুলিতে অন্যভাবে।
মজাদার ঘটনা : এই পদগুলি জোনাথন সুইফটের বই গুলিভারস ট্র্যাভেলসের উপর ভিত্তি করে যেখানে লিলিপুটিয়ান রাজা তার নাগরিকদেরকে তার সামান্য প্রান্তে (এইভাবে ছোট-ছোটদের) ডিম ভাঙ্গার আদেশ দিয়েছিল এবং বিদ্রোহীরা তাদের বড় অংশটি ভেঙে ফেলবে।
অদলবদল কীভাবে কাজ করে
মনে করুন আমাদের কাছে 12648430মেমরির একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা (32 বিট) রয়েছে, একটি বড়-এন্ডিয়ান মেশিনে যা নীচের মতো দেখতে পারে:
addr: 0 1 2 3
memory: 00 C0 FF EE
বাইট-অর্ডার উল্টিয়ে আমরা হেক্সাডেসিমাল পূর্ণসংখ্যা পাই 0xEEFFC000যা 4009738240দশমিক।
তোমার কাজ
একটি প্রোগ্রাম / ফাংশন লিখুন যা দশমিকের মধ্যে একটি স্বাক্ষরবিহীন 32 বিট পূর্ণসংখ্যা প্রাপ্ত করে এবং উপরের বর্ণনার মতো শেষের দিকটি অদলবদল করার সময় ফলস্বরূপ পূর্ণসংখ্যাটি আউটপুট করে।
বিধি
- ইনপুট সবসময় সীমার মধ্যে হতে হবে
0করার4294967295 - আউটপুট STDOUT এ মুদ্রিত করা যাবে (নতুন লাইনের / স্থানগুলি ঠিক আছে) বা ফিরে আসতে পারে
- ইনপুট এবং আউটপুট দশমিক হয়
- অবৈধ ইনপুট নেভিগেশন আচরণ অপরিশোধিত বামে
পরীক্ষার মামলা
0 -> 0
1 -> 16777216
42 -> 704643072
128 -> 2147483648
12648430 -> 4009738240
16885952 -> 3232235777
704643072 -> 42
3735928559 -> 4022250974
4009738240 -> 12648430
4026531839 -> 4294967279
4294967295 -> 4294967295
42দশমিক ক্ষেত্রে দেওয়া হয় তবে প্রযুক্তিগতভাবে এটি সি তে বাইনারি হয়। আপনি অবশ্যই টাইপ করতে পারেন, 0x2aআমি যা আটকাতে চেয়েছিলাম তা ইনপুটটিকে স্ট্রিং "2a"বা এর মতো গ্রহণ করা।