আর সেটের জন্য আরটিএল এর জন্য পূর্ণসংখ্যার ব্যবহার সম্পর্কে কোনও ভুল নেই সেটার , তবে এমন কিছু কারণ রয়েছে যেগুলি কেউ এড়িয়ে চলে। এটি সত্যিকারের সাবজেক্টিভ "সেরা অনুশীলন" সম্পর্কে একটি প্রশ্ন এবং শেষ পর্যন্ত আপনার নিজের পছন্দটি নিজেকে খুঁজে বের করতে হবে। তার সহায়তার জন্য, আমি এ সম্পর্কে আমার অভিজ্ঞতা এবং চিন্তাভাবনাগুলি ভাগ করব।
মূলত , সংশ্লেষণের জন্য লেখার সময়ও আমি (সংবিধানযুক্ত) পূর্ণসংখ্যা ব্যবহারের পক্ষে। আমি মাঝে মাঝে করি, কিন্তু বাস্তবে , সাধারণত আমি বিদ্ধ signed
এবংunsigned
। আমি কেন বিস্তারিত জানাব।
আপনাকে যাইহোক আপনার ডিজাইনের অংশে ভেক্টরাইজড ডেটাটাইপগুলি ব্যবহার করতে বাধ্য করা হবে:
খুব সহজেই কোনও বিক্রেতা-আইপি বা তৃতীয় পক্ষ-আইপি ব্যবহার করবে integer
পোর্টগুলির জন্য টাইপ
উদাহরণস্বরূপ ব্লকআরমের মাধ্যমে ডেটা প্রেরণ করার সময়, আপনি যদি এটি অনুমান করেন এবং অতএব কোনও আইপি / ম্যাক্রো / আদিমকে কখনও ইন্টারফেসের প্রয়োজন হয় না, আপনাকে সম্ভবত সম্ভবত ভেক্টরাইজড ধরণের রূপান্তর করতে হবে
এমনকি উপরের দুটি প্রয়োগ না হলেও, আপনাকে বেশিরভাগ সময় কোনও কোনও সময়ে ইন্টারফেস করতে হবে (একটি শীর্ষ স্তরের বন্দর, অন্য কিছু না হলে)
যেহেতু আপনি integer
সম্পূর্ণ ডিজাইনের জন্য ব্যবহার করতে পারবেন না , আপনি এগুলি একসাথে এড়িয়ে যেতে চাইতে পারেন, কারণ:
কিছু পয়েন্টে, আপনাকে যে কোনও উপায়ে রূপান্তর করতে হবে integer
এবং এটি প্রথম স্থানে ব্যবহারের বিন্দুটির কিছু অংশ কেড়ে নেবে
এছাড়াও, সিমুলেশনের জন্য, এই রূপান্তরগুলি সাধারণত পুনরায় সেট করার আগে, বা অন্য সময়ে ভেক্টরগুলির সাথে 'U'
বা 'X'
ডেকে আনা হবে এবং এই জাতীয় প্রতিটি ফাংশন কল আপনার সিমুলেশন সতর্কতা / প্রম্পটকে বিশৃঙ্খলা করে প্যাকেজ ফাংশন থেকে একটি সতর্কতা বার্তা উত্পন্ন করবে such
ব্যবহারের ত্রুটিগুলিinteger
:
ভেক্টরাইজড ধরণের বিপরীতে, পূর্ণসংখ্যাগুলি থাকে না 'U'
এবং থাকে'X'
; আমি তাদের সিমুলেশনগুলিতে খুব সহায়ক বলে মনে করি। আপনি দেখতে পাচ্ছেন কীভাবে অবিচ্ছিন্ন সংকেতগুলি ডিজাইনের মাধ্যমে প্রচার করে এবং আপনি যদি রিসেটের পরে প্রচুর অবিস্মরণীয় সংকেত দেখতে পান তবে আপনি সম্ভবত প্রতিক্রিয়া দেখবেন। পূর্ণসংখ্যা ব্যবহার করা হলে এটি হবে না।
পূর্ণসংখ্যার সাথে, নিম্ন-ওভারফ্লোতে যুক্ত বা বিয়োগ করার সময় সিমুলেশন / সংশ্লেষণের ভুল-মিলের ঝুঁকি বেশি থাকে। (যেমন ইতিমধ্যে অন্য কারও দ্বারা চিহ্নিত করা হয়েছে))
যেসব সাধারণ ক্ষেত্রে আমি integer
সত্যিই একটি ভাল বিকল্প বলে মনে করি:
আপনি চিপস্কোপ / সিগন্যালটিপ ইত্যাদির মাধ্যমে নিরীক্ষণ করেন এমন ডিবাগ সংকেত / কাউন্টারগুলির জন্য
কাউন্টারগুলির সামগ্রিকভাবে অভ্যন্তরীণ উপস্থাপনা, যা আপনার নিজের কোডের মধ্যে বা বাইরে কখনও যায় না। / সংকেত গঠনের সার্চ হ্যাঁ, এই ক্ষেত্রে যেমন হয়, যদি আপনি একটি হিসাবে FIFO লেখার এবং আপনি মৃত বিয়োগ লিখেছেন হয় full
, empty
, almostFull
ইত্যাদি (তবে পয়েন্টার উপর arithmetics এই ক্ষেত্রে মৃত বিয়োগ চেয়ে ভাল উপায়। ..)
আমার নিজের সিদ্ধান্তে: আমি কখনও কখনও পূর্ণসংখ্যার ব্যবহার করি তবে খুব কম, এবং বেশিরভাগ উপরে বর্ণিত ক্ষেত্রে। আমি ব্যবহার অনেক ওভারহেড দেখতে না unsigned
এবং signed
পূর্ণসংখ্যা পরিবর্তে, সেইজন্য এবং, সাধারণত তাদের বিদ্ধ।