আমি এমন ব্যক্তির কাছ থেকে কোডটি এসেছি যা মনে করে যে ফলাফলটি নেতিবাচক হবে তখন একই ধরণের অন্য কোনও পূর্ণসংখ্যার থেকে স্বাক্ষরবিহীন পূর্ণসংখ্যাকে বিয়োগ করতে সমস্যা রয়েছে believe সুতরাং বেশিরভাগ আর্কিটেকচারে কাজ করার পরেও এর মতো কোডটি ভুল হবে।
unsigned int To, Tf;
To = getcounter();
while (1) {
Tf = getcounter();
if ((Tf-To) >= TIME_LIMIT) {
break;
}
}
আমি খুঁজে পেতে পারে এটি সি স্ট্যান্ডার্ডের একমাত্র অস্পষ্ট প্রাসঙ্গিক উদ্ধৃতি।
স্বাক্ষরবিহীন অপারেন্ডগুলির সাথে জড়িত কোনও গণনা কখনই ow over over because over uns can। Can can can can can because because because because because because because because because because because igned igned igned igned igned uns
আমি মনে করি যে কেউ এই অর্থটি গ্রহণ করতে পারে যে ডান অপরেন্ড বড় হলে অপারেশনটি মডুলো কাটা সংখ্যার প্রেক্ষাপটে অর্থবহ হিসাবে সমন্বিত হয়।
অর্থাত্
0x0000 - 0x0001 == 0x 1 0000 - 0x0001 == 0xFFFF
বাস্তবায়ন নির্ভর স্বাক্ষরিত শব্দার্থক ব্যবহারের বিপরীতে:
0x0000 - 0x0001 == (স্বাক্ষরযুক্ত) (0 + -1) == (0xFFFF তবে 0xFFFE বা 0x8001)
কোনটি বা কোন ব্যাখ্যাটি সঠিক? এটা আদৌ সংজ্ঞায়িত করা হয়?