সবাই কি পাস্কলকে ভুলে গেছে?
1/6ফলন 0.1666666...(যাই হোক না কেন নির্ভুলতা সমর্থিত)।
1 div 6 উৎপাদনের 0
সি নিয়মটি ভুল কিনা তা তর্কযোগ্য। সি এর প্রায় সব গাণিতিক অপারেটর, যেখানে অপারেন্ডগুলি একই ধরণের হয়, একই ধরণের ফলাফল দেয়। ধারাবাহিকতার জন্য কিছু বলার আছে।
তদতিরিক্ত, যেহেতু সি প্রাথমিকভাবে সিস্টেম-স্তরের কোডকে লক্ষ্যযুক্ত করা হয়, বেশিরভাগ সি প্রোগ্রামগুলি ভাসমান-বিন্দু মোটেই ব্যবহার করে না। এক সময়, দুর্ঘটনাক্রমে এমন প্রোগ্রামে ভাসমান-পয়েন্ট কোড যুক্ত করা যা অন্যথায় প্রয়োজন হয় না এটি একটি গুরুতর সমস্যা হতে পারে। এটি সম্ভবত এখনও ছোট এম্বেড থাকা সিস্টেমগুলির ক্ষেত্রে - যা আবার সি এর জন্য একটি বড় লক্ষ্য are
বেশিরভাগ সি প্রোগ্রামগুলিতে, পূর্ণসংখ্যা বিভাগ কেটে দেওয়া সম্ভবত আপনি যা চান ঠিক তেমনই।
যদি 1 / 6সি তে একটি ভাসমান-পয়েন্ট ফলাফল পাওয়া যায়, তবে:
- এটি ভাষার কোনও অসঙ্গতি হবে।
- মানটিকে ফলাফলের জন্য কোন ভাসমান-পয়েন্ট টাইপ করতে হবে তার একটি স্বেচ্ছাসেবী পছন্দ করতে হবে (
doubleপ্রাকৃতিক পছন্দ বলে মনে হতে পারে তবে আপনি অতিরিক্ত অতিরিক্ত নির্ভুলতা পছন্দ করতে পারেন long double)
- ভাষাটির এখনও পূর্ণসংখ্যা বিভাগের জন্য একটি অপারেশন করতে হবে; ভাসমান-পয়েন্ট সংযোজন এবং তারপরে কাটা সম্ভবত যথেষ্ট ভাল হবে না।
সি দুই ধরণের বিভাগের জন্য পৃথক অপারেটর সরবরাহ করতে পারত , তবে উপরের দ্বিতীয় পয়েন্টটি এখনও প্রয়োগ করতে পারে: তিনটি ভাসমান-বিন্দুর মধ্যে কোনটি ফলাফলের জন্য ব্যবহৃত হবে? এবং যেহেতু আপনার প্রয়োজন হলে ভাসমান-পয়েন্ট বিভাজন পাওয়ার পক্ষে এটি সহজ (কোনও এক বা উভয় অপারেণ্ডের জন্য একটি ফ্লোটিং-পয়েন্ট ধ্রুবক ব্যবহার করুন, বা এক বা উভয় অপারেশনকে একটি ভাসমান-বিন্দু টাইপ করুন), এটি স্পষ্টতই ব্যর্থ ' টি যে গুরুত্বপূর্ণ বিবেচনা।
সি ম্যানুয়ালটির 1974 সংস্করণে (এটি কে & আর এর প্রথম সংস্করণ প্রকাশের 4 বছর পূর্বে), রিচি সম্ভাব্য বিভ্রান্তির কথাও উল্লেখ করেননি:
বাইনারি / অপারেটর বিভাগকে নির্দেশ করে। গুণের ক্ষেত্রে একই ধরণের বিবেচনাগুলি প্রয়োগ হয়
যা বলে যে উভয় অপারেন্ড টাইপ হয় intবা char, ফলাফল টাইপ হয় int।
হ্যাঁ, এটি কিছু সি প্রোগ্রামারদের, বিশেষত নতুনদের জন্য বিভ্রান্তির উত্স - তবে সি খুব নবাগত-বান্ধব বলে খ্যাতিমান হয় না।