আপনার প্রশ্ন "জাভা স্বাক্ষরবিহীন ইনটগুলি সমর্থন করে না কেন"?
: এবং আপনার প্রশ্নের আমার উত্তর জাভা চায় যে এটা সব আদিম ধরনের হয় বাইট , গৃহস্থালির কাজ , ছোট , int- এ এবং দীর্ঘ হিসাবে ধরা হবে, বাইট , শব্দ , DWORD এবং qword যথাক্রমে ঠিক সমাবেশ মত, এবং জাভা অপারেটার হয় স্বাক্ষরিত এটা সব অপারেশন ছাড়া আদিম ধরনের এর গৃহস্থালির কাজ , কিন্তু শুধুমাত্র উপর গৃহস্থালির কাজ তারা শুধুমাত্র 16 বিট স্বাক্ষরবিহীন হয়।
তাই স্ট্যাটিক পদ্ধতি হতে অনুমান স্বাক্ষরবিহীন অপারেশন এছাড়াও 32 এবং 64 বিটের উভয়ের জন্যই ।
আপনার চূড়ান্ত শ্রেণি প্রয়োজন, যার স্থির পদ্ধতি স্বাক্ষরবিহীনদের জন্য কল করা যেতে পারে ক্রিয়াকলাপগুলির ।
আপনি এই চূড়ান্ত শ্রেণিটি তৈরি করতে পারেন, আপনি যে নামেই চান তা কল করুন এবং এটি স্থির পদ্ধতিগুলি প্রয়োগ করতে পারেন।
স্থিতিশীল পদ্ধতিগুলি কীভাবে প্রয়োগ করা যায় সে সম্পর্কে আপনার যদি ধারণা নেই তবে এই লিঙ্কটি আপনাকে সহায়তা করতে পারে।
আমার মতে, জাভা হয় না সি ++ অনুরূপ এ সব যদি তন্ন তন্ন স্বাক্ষরবিহীন ধরনের সমর্থন কিংবা অপারেটর ওভারলোডিংকে , তাই আমি মনে করি যে জাভা সি ++ এবং সি থেকে উভয়ই সম্পূর্ণ ভিন্ন ভাষা হিসাবে বিবেচিত হওয়া উচিত think
এটি উপায় দ্বারা ভাষা নামে সম্পূর্ণ আলাদা।
সুতরাং আমি জাভাতে সি এর মতো কোড টাইপ করার পরামর্শ দিচ্ছি না এবং আমি মোটেও সি ++ এর মতো কোড টাইপ করার পরামর্শ দিচ্ছি না, কারণ তখন জাভাতে আপনি সি ++ এ পরবর্তী কাজটি করতে সক্ষম হবেন না, অর্থাত্ কোডটি মোটেও সি ++ অবিরত থাকবে না এবং আমার পক্ষে এটির মতো কোডের পক্ষে মাঝখানে শৈলীর পরিবর্তন করা খারাপ।
আমি স্বাক্ষরিত ক্রিয়াকলাপগুলির জন্যও স্থির পদ্ধতিগুলি লিখতে এবং ব্যবহার করার পরামর্শ দিচ্ছি, সুতরাং আপনারা কেবলমাত্র স্বাক্ষরিত এবং স্বাক্ষরযুক্ত অপারেশনগুলির জন্য অপারেটর এবং স্থির পদ্ধতিগুলির কোড মিশ্রণটিতে দেখতে পাবেন না, যদি না আপনার কোডটিতে কেবল স্বাক্ষরিত অপারেশনগুলির প্রয়োজন হয়, এবং এটি ঠিক আছে কেবল অপারেটর ব্যবহার করুন।
এছাড়াও আমি ব্যবহার এড়াতে সুপারিশ সংক্ষিপ্ত , int- এ এবং দীর্ঘ আদিম ধরনের, এবং ব্যবহার শব্দ , DWORD এবং qword পরিবর্তে যথাক্রমে, এবং আপনি যদি এর পরিবর্তে স্বাক্ষরবিহীন অপারেশনের জন্য স্ট্যাটিক পদ্ধতি কল সম্পর্কে এবং / অথবা স্বাক্ষরিত অপারেশন অপারেটর ব্যবহারের।
আপনি শুধুমাত্র স্বাক্ষরিত অপারেশন এবং শুধুমাত্র কোডে অপারেটর ব্যাবহার চলেছেন, তাহলে এই এই আদিম ধরনের ব্যবহার করতে ঠিক আছে ছোট , int- এ এবং দীর্ঘ ।
বাস্তবিক শব্দ , DWORD এবং qword না না ভাষায় বিদ্যমান, কিন্তু আপনি প্রতিটি নতুন শ্রেণী তৈরি করতে পারেন এবং প্রতিটি বাস্তবায়ন খুব সহজ হওয়া উচিত:
বর্গ শব্দ আদিম টাইপ ঝুলিতে সংক্ষিপ্ত শুধুমাত্র, বর্গ DWORD আদিম টাইপ ঝুলিতে int- এ শুধুমাত্র এবং ক্লাস qword আদিম টাইপ ঝুলিতে দীর্ঘ শুধুমাত্র। সমস্ত স্বাক্ষরবিহীন এবং স্বাক্ষরিত পদ্ধতিগুলি স্থিতিশীল হিসাবে বা আপনার পছন্দ হিসাবে নয়, আপনি প্রতিটি শ্রেণিতে প্রয়োগ করতে পারবেন, অর্থাত্ 16 টি বিট অপারেশন উভয় স্বাক্ষরযুক্ত এবং স্বাক্ষরিত শব্দ শব্দের অর্থের নাম দিয়ে , সমস্ত 32 বিট অপারেশন উভয়ই স্বাক্ষরবিহীন এবং উপর অর্থ নাম দিয়ে সাইন ইন DWORD বর্গ এবং সমস্ত 64 বিট অপারেশন উভয় স্বাক্ষরবিহীন এবং এর অর্থ নাম দিয়ে সাইন ইন qword বর্গ।
আপনি যদি প্রতিটি পদ্ধতির জন্য খুব বেশি আলাদা নাম দেওয়া পছন্দ করেন না, আপনি জাভাতে সর্বদা ওভারলোডিং ব্যবহার করতে পারেন, এটি পড়তে ভাল যে জাভাও তা মুছে ফেলেনি!
আপনি যদি 8 বিট স্বাক্ষরিত অপারেশনগুলির পরিবর্তে অপারেটর এবং 8 বিট স্বাক্ষরযুক্ত অপারেশনগুলির পদ্ধতিগুলি চান যা কোনও অপারেটর নেই, তবে আপনি বাইট শ্রেণি তৈরি করতে পারেন (নোট করুন যে প্রথম অক্ষর 'বি' মূলধন, সুতরাং এটি নয়) আদিম টাইপ বাইট ) এবং এই ক্লাসে পদ্ধতিগুলি বাস্তবায়ন করুন।
মান দ্বারা পাস এবং রেফারেন্স দ্বারা পাস সম্পর্কে:
যদি আমি ভুল না করে থাকি, সি # মত, আদিম বস্তু মান দ্বারা গৃহীত হয় স্বাভাবিকভাবেই, কিন্তু শ্রেণী বস্তু স্বাভাবিকভাবেই রেফারেন্স দ্বারা পাস, তাই তার মানে ধরনের বস্তু বাইট , শব্দ , DWORD এবং qword মান রেফারেন্স দ্বারা পাস হবে এবং গতানুগতিক. আমি আশা করি জাভা ছিল struct হয় বস্তু হিসেবে C # এর আছে, তাই সব বাইট , শব্দ , DWORD এবং qword হতে বাস্তবায়িত করা যায়নি struct হয় পরিবর্তে বর্গসুতরাং, ডিফল্টরূপে সেগুলি মান দ্বারা পাস হয়েছিল এবং ডিফল্ট হিসাবে রেফারেন্স দ্বারা নয়, সি # তে কোনও স্ট্রাক্ট অবজেক্টের মতো, আদিম প্রকারগুলির মতো, মান দ্বারা পাস হয় এবং ডিফল্টরূপে রেফারেন্স দ্বারা নয়, কারণ জাভা সি # এর চেয়ে খারাপ এবং আমাদের কাছে এটি মোকাবেলায়, তারপরে কেবলমাত্র ক্লাস এবং ইন্টারফেস রয়েছে, যা রেফারেন্স দ্বারা পাস হয় এবং মান দ্বারা ডিফল্টরূপে হয় না। তাই আপনি যদি প্রেরণ করতে ইচ্ছুক বাইট , শব্দ , DWORD এবং qword , মান দ্বারা এবং বস্তু রেফারেন্স দ্বারা জাভা এবং C # এর অন্য কোন বর্গ বস্তুর মত, আপনি কেবল অনুলিপি কন্সট্রাকটর ব্যবহার করতে হবে এবং যে এটি।
এটাই একমাত্র সমাধান যা আমি ভাবতে পারি। আমি কেবল ইচ্ছুক যে আমি কেবল আদিম প্রকারের শব্দ, শব্দ এবং কিওয়ার্ড টাইপ করতে পারি, তবে জাভা টাইপডেফ সমর্থন করতে পারে না বা মোটেও ব্যবহার করে না, সি # এর বিপরীতে যা সমর্থন করে যা সি এর টাইপফের সমতুল্য।
আউটপুট সম্পর্কে:
বিটের একই ক্রমের জন্য আপনি এগুলি বিভিন্ন উপায়ে মুদ্রণ করতে পারেন: দ্বি-দ্বি হিসাবে, দশমিক হিসাবে (সি প্রিন্টে% ইউ এর অর্থের মতো), অক্টাল হিসাবে (সি প্রিন্টে% ও এর অর্থের মতো), হেক্সাডেসিমাল হিসাবে (যেমন সি প্রিন্টফে% x এর অর্থ) এবং পূর্ণসংখ্যা হিসাবে (সি প্রিন্টে% d এর অর্থ)।
নোট করুন যে সি প্রিন্টফ ফাংশনে প্যারামিটার হিসাবে ভেরিয়েবলের ধরণটি জানেন না, তাই প্রিন্টফ কেবল ফাংশনের প্রথম প্যারামিটারে গৃহীত চর * অবজেক্ট থেকে প্রতিটি ভেরিয়েবলের প্রকার জানেন।
তাই ক্লাস প্রত্যেকটিতে: বাইট , শব্দ , DWORD এবং qword , আপনি মুদ্রণ পদ্ধতি বাস্তবায়ন করতে পারেন এবং printf, কার্যকারিতা পেতে, যদিও ক্লাসের আদিম টাইপ সাইন করা হয়েছে, আপনি কি এখনও এটা স্বাক্ষরবিহীন কিছু জড়িত অ্যালগরিদম অনুসরণ করে মুদ্রণ করতে পারেন আউটপুট মুদ্রণের জন্য ডিজিটগুলি পেতে লজিকাল এবং শিফট ক্রিয়াকলাপ।
দুর্ভাগ্যক্রমে আমি আপনাকে যে লিঙ্কটি দিয়েছি তা এই মুদ্রণ পদ্ধতিগুলি কীভাবে প্রয়োগ করা যায় তা প্রদর্শন করে না, তবে আমি নিশ্চিত যে এই প্রিন্ট পদ্ধতিগুলি প্রয়োগ করার জন্য আপনার প্রয়োজনীয় অ্যালগরিদমের জন্য আপনি গুগল করতে পারেন।
এটাই আমি আপনার প্রশ্নের উত্তর দিতে এবং আপনাকে পরামর্শ দিতে পারি।