গ্রাহকদের কাছে ভাসমান পয়েন্ট যথার্থতা ব্যাখ্যা [বন্ধ]


23

গ্রাহকদের কাছে ভাসমান পয়েন্ট রাউন্ডিং ইস্যুটি বোঝানোর সর্বোত্তম উপায় কী ?

আমি জানি

http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html

পাশাপাশি বিকাশকারী এবং বিজ্ঞানীদের লক্ষ্য নিয়ে সি ++ এফএকিউ এবং অন্যান্য বিভিন্ন পৃষ্ঠায় প্রবেশাধিকারগুলি রয়েছে তবে সীমাবদ্ধ গাণিতিক বা বৈজ্ঞানিক পটভূমির সাথে "নিয়মিত" গ্রাহককে লক্ষ্য করে কোনও ওয়েব পৃষ্ঠা, নিবন্ধ বা ব্যাখ্যা আছে কি? (যার জন্য উপরের উল্লেখগুলি সমতল হয়) fall

যদি এটি রক্ষণ করা হয় বা একটি সুপরিচিত এবং সুপরিচিত স্বীকৃত প্রতিষ্ঠান বা কর্পোরেশন থেকে আগত হয়, তবে আপনারা কেউ কেউ যেমন অভিজ্ঞতা অর্জন করতে পেরেছেন, তত ভাল, নিজেকে ব্যাখ্যা করা কিছুটা জটিল হতে পারে।


1
আমি বিরক্ত করব না ...
জন শ্যাফট

1
এটি যদি সত্যিই চমত্কার প্রশ্ন, তবে আমি 10 +। বিকাশকারীদের জন্য ঘন ঘন সমস্যা।
কোডি গ্রে

2
এটি কোনও বিবিধ সমস্যা নয়, এটি ফাইয়ের উত্তর দিচ্ছে কেন 2 দশমিক সংখ্যার যথার্থ সংখ্যাকে যা দেখায় তা যুক্ত করে কেন আপনি একটি 5.9999999 দিয়ে শেষ করেন এবং একটি 6 নয় এবং ফলাফলটি অবশ্যই "স্পষ্ট" হওয়ার পরে কেন আপনাকে বৃত্তাকার স্পষ্টতা নির্দিষ্ট করতে হবে? টির দশমিকের বেশি সংখ্যা রয়েছে। বা কেন কখনও কখনও 2 বিয়োগ 2 সর্বদা শূন্য হয় না এবং এমনটি করার সময় বাঁশের মতো বোকা দেখাচ্ছে না।
এরিক গ্রেঞ্জ

9
@Eric খামারবাড়ি: যদি আপনার গ্রাহকদের একটি বাগ হিসাবে যারা স্পষ্টতা বিষয় বিবেচনা, তারপর, এটা হল একটি বাগ এবং আপনি এটি ঠিক করার (হয়তো ভাসা ব্যবহার করছেন না করে) একটি উপায় খুঁজে বের করতে হবে। এই যথার্থ সমস্যাটি কোথা থেকে আসে সে বিষয়ে তারা চিন্তা করে না। আপনার সফ্টওয়্যার কীভাবে কাজ করে সে সম্পর্কে তাদের কোনও চিন্তা নেই। তারা কেবল এটি কাজ করতে চায়।
ডেভিড

3
@Eric: ফ্লোটিং পয়েন্ট ব্যবহার হয় একটি বাস্তবায়ন বিস্তারিত। আমি আমার প্রশ্নটির পুনরাবৃত্তি করছি, যা প্রশ্নের মধ্যে কিছু ব্যাখ্যা না করার জন্য জিজ্ঞাসা করে, এবং যা আমি স্পষ্টভাবে স্পষ্ট করেছিলাম না (ক্ষমা প্রার্থনা): প্রসঙ্গটি কী, এবং আপনি কেন কোনও গ্রাহকের সাথে ভাসমান পয়েন্ট ব্যবহার নিয়ে আলোচনা করছেন?
টম অ্যান্ডারসন

উত্তর:


8

আমি এটি ব্যাখ্যা করার একটি সহজ উপায় এটি প্রদর্শিত হয়। কীভাবে xকোনও সংখ্যায় বিভাজন করবেন তা আলোচনা করুন , তারপরে একই সংখ্যাটি দিয়ে গুণ করলে আপনাকে xআবার ফিরিয়ে দেওয়া উচিত - গ্রাহককে সম্মত করতে সম্মত হন যে এটি সর্বদা ক্ষেত্রে হওয়া উচিত। তারপরে (100 / 3) * 3একটি ক্যালকুলেটরে পুরানো করুন; দেখান যে মানটি আপনার প্রত্যাশা অনুসারে 100 এ ফিরে আসবে না most বেশিরভাগ লোকেরা যখন আপাতদৃষ্টিতে সহজ গণিতগুলি "ভাঙ্গা" দেখেন, তখন নির্ভুলতা গুরুত্বপূর্ণ যেখানে ভাসমান পয়েন্ট সংখ্যাগুলির ঝুঁকি 'পেতে' ঝোঁক থাকে (যদিও স্বজ্ঞাত) উপায়, আপনি যে নিবন্ধটি নির্দেশ করেছেন নিচু স্তরের পরিবর্তে)।

দুর্ভাগ্যক্রমে সর্বাধিক অর্ধ-শালীন ক্যালকুলেটর (আজকাল দেখা সমস্ত বিজ্ঞানসম্মত এবং বেশ কয়েকটি মৌলিকের চেয়ে বেশি) আজকাল এটি পরিচালনা করতে সক্ষম হয় - আমি মনে করি তারা প্রদর্শিত এবং গোলাকার বাইরেও অতিরিক্ত অঙ্কগুলি সংরক্ষণ করছেন - তাই করুন আপনি আপনার গ্রাহকের সামনে এটি করার আগে আপনার ক্যালকুলেটরটি কতটা চালাক check


1
হ্যাঁ, প্রায় সমস্ত ক্যালকুলেটর কমপক্ষে 2 টি অতিরিক্ত অঙ্ক সঞ্চয় করে চলেছে, তাই আপনাকে মিশ্রণে কয়েকটি গুণক যুক্ত করতে হবে, যা ব্যাখ্যায় বিঘ্ন ঘটায় এবং আইএমই তাদের ভাবায় যে আপনি তাদের বোকা বানানোর চেষ্টা করছেন। স্কোয়ার রুটের জন্য কম অপারেশন প্রয়োজন, তবে বর্গমূলটি ইতিমধ্যে নিয়মিত গ্রাহকদের দৈনন্দিন ক্ষেত্রের বাইরে।
এরিক গ্রেঞ্জ

2
@ স্কট আমি এখানে কয়েকটি ক্যালকুলেটর দিয়ে চেষ্টা করেছি, কেউই (100/3) * 3, এমনকি (100/3) * 3-100 সমস্যা প্রকাশিত করেনি .... এক্সেলটি ঠিক তা পেয়েছে।
এরিক গ্রেঞ্জ

9
উদাহরণ হিসাবে অর্থ গ্রহণ করুন, এটি একটি নিখুঁত সীমিত নির্ভুলতা আছে। আপনাকে এক ডলারের বিভাজনটি ব্যাখ্যা করুন, তারপরে প্রতিটি ব্যক্তি 33 সেন্ট পান এবং একটি পয়সা গোল হয়ে যায়। যে কেউ এর সাথে সম্পর্কিত হতে পারে।
ইনকা

4
ক্যালকুলেটর নিয়ে বিরক্ত করবেন না। তিনটি উল্লেখযোগ্য সংখ্যা রেখে কাগজে 1 দ্বারা 3 ভাগ করুন।
ডেভিড থর্নলে

5
@ ওমেগ্যাসেন্টৌরি যদি আপনি মনে করেন যে এই ব্যাখ্যাটি সহায়তা করে তবে আমি ধারণা করছি আপনি প্রায়শই গ্রাহকদের সাথে কথা বলবেন না।
মিনিটে ঝক্কিচ্ছিল

5

শর্টকাট আছে বলে আমি মনে করি না। আপনি হয়:

  • ভাসমান পয়েন্ট কী এবং এটি কীভাবে আচরণ করে তা বুঝুন।

বা, যদি এটি খুব বেশি প্রয়োজন হয় তবে আপনার কেবলমাত্র:

  • গ্রহণ করুন যে কম্পিউটার আপনাকে সঠিক সংখ্যার ফলাফল দেবে না।

হয়তো অযৌক্তিক সংখ্যার একটি উদাহরণ সাহায্য করে (যদিও ফ্লোটিং পয়েন্ট বিষয় পাশাপাশি মূলদ সংখ্যার ক্ষেত্রে প্রযোজ্য): sqrt(2) ~ 1.414। তারপরে 1.414^2 = 1.999396। আপনি যতগুলি সংখ্যা নিয়ে যান না কেন, আপনি কখনই আসলটিতে ফিরে পাবেন না 2। ঠিক আছে, 4 টি উল্লেখযোগ্য সংখ্যক সঠিক হতে পারে তা গ্রহণযোগ্য হতে পারে তবে তারপরে বিবেচনা করুন যখন এই ধরণের "রাউন্ডিং ত্রুটি" জমে থাকে তখন কী ঘটে। সেখানেই আসল বিপদ।


2
আমি ব্যক্তিগতভাবে জানি এবং বুঝতে পারি, তবে কিছু লোকের জন্য "ফ্লোটিং পয়েন্ট" ইতিমধ্যে একটি এলিয়েন শব্দ, সুতরাং আপনার গাণিতিক বা বৈজ্ঞানিক ব্যাখ্যার চেয়ে আরও বেশি প্রয়োজন যা বোঝায় যে তারা তাদের মাথার মধ্যে ঠিক কী গণনা করতে পারে, তাদের ব্যয়বহুল কম্পিউটার এবং সফ্টওয়্যার সঠিক হতে সমস্যা হয় ;) এছাড়াও বর্গমূল মূল নিয়মিত গ্রাহকদের দৈনন্দিন ক্ষেত্রের বাইরে।
এরিক গ্রেঞ্জ

5

প্রথমে তারা কী অভিযোগ করছেন তা নির্ধারণ করুন। দশমিক স্থানের সঠিক সংখ্যার এবং সঠিক রাউন্ডিং বিধি সহ আর্থিক লেনদেনগুলি সুনির্দিষ্টভাবে করতে হবে। এর অর্থ সাধারণত মুদ্রা ইউনিটের অবিচ্ছেদ্য সংখ্যা বজায় রাখা এবং পাটিগণিতটি সঠিকভাবে সম্পন্ন হয়েছে তা নিশ্চিত করা।

বিকল্পভাবে, তারা ওভাররেক্স্যাক্ট ডিসপ্লে সম্পর্কে অভিযোগ করতে পারে, এবং উল্লেখযোগ্য অঙ্কের আউটপুট সংখ্যা হ্রাস করা প্রয়োজনীয় সমস্ত কিছুই হতে পারে।

সাধারণ হিসাবে সংখ্যার জন্য, আপনি সর্বদা তিন অঙ্কের দশমিক এক্স এর সাথে আসতে চেষ্টা করতে পারেন যেমন এক্স * 3 হ'ল 10 এটি মূল নীতিগুলি দেখায়।

বাকি দুটি সমস্যা আছে। একটি হ'ল নির্দিষ্ট সংখ্যা দশমিক ক্ষেত্রে ঠিক প্রকাশ করা যায় তবে বাইনারি হয় না (৩.১৫, বলুন)। এটি অ-প্রযুক্তিগত লোকদের কাছে ব্যাখ্যা করা শক্ত হতে চলেছে এবং আপনার সেরা বেট হ'ল এটি প্রদর্শিত হওয়ার জন্য পর্যাপ্ত উল্লেখযোগ্য সংখ্যা না দিয়ে এড়াতে চেষ্টা করা। অন্যটি হ'ল গ্রাহক যিনি কিছুটা জানেন, কম্পিউটার গাণিতিক সবসময় নির্ভুল হয় না এবং এটি উপলব্ধি করতে যথেষ্ট হয় না যে দশমিক গাণিতিক সবসময় নির্ভুল হয় না। আমি তাদের কয়েকজনের সাথে তর্ক করেছি, এবং রিপোর্ট করার মতো দরকারী কিছুই নেই।


3

কম্পিউটারে ভাসমান পয়েন্ট সংখ্যা বাইনারি ব্যবহার করে, ঠিক তেমনই আমাদের কাছে একটি সংখ্যা, দশক, শত এবং দশম, শততম কলাম সহ একটি সংখ্যা সিস্টেম রয়েছে, কম্পিউটারে ভাসমান পয়েন্ট সংখ্যাগুলি আসলে একটি, দ্বিগুণ, চারটি এবং অর্ধেক, কোয়ার্টার এবং অষ্টম কলাম। যদি গ্রাহক পা / ইঞ্চি সম্পর্কে পরিচিত হন, তবে আপনি কীভাবে পরিমাপের জন্য সাধারণত একটি ইঞ্চির বেস -২ ভগ্নাংশটি ব্যবহার করেন তা তাদের মনে করিয়ে দিন।

অর্ধেক, কোয়ার্টারের, এক ডলারের অষ্টমীর সংমিশ্রণ হিসাবে এখন 10 সেন্ট সঞ্চয় করার চেষ্টা করুন। এটি ঠিক কাজ করে না:

.00011001100110011। । । ( অসীম পুনরাবৃত্তি )

এটি একটি স্ট্যান্ডার্ড ইম্পেরিয়াল পরিমাপ টেপ নেওয়া এবং এক ইঞ্চির দশমাংশ মাপার চেষ্টা করার মতো। আপনি এটি সঠিকভাবে করতে পারবেন না। এক্স / ওয়াই হিসাবে 1/10 এর উপস্থাপনা নেই যেখানে এক্স এবং ওয়াই পুরো সংখ্যা এবং ওয়াই 2 এর শক্তি।

সে কারণেই আমাদের কাছে দশমিক তথ্য প্রকার রয়েছে যা প্রতিটি দশমিক সংখ্যা সংরক্ষণ করতে 4 বিট ব্যবহার করে , তাই আমরা 10 টি উপস্থাপনার দিকে ফিরে আসছি। বাণিজ্য বন্ধ স্থান এবং কর্মক্ষমতা (প্রায় 100% পারফরম্যান্স হিট, আমি যা পড়েছি তা থেকে)।


1

তাদের বলুন যে ঠিক যেমন তাদের ব্যাংক অ্যাকাউন্ট 4.4423425908459032890413 ... ডলার ধরে রাখতে পারে না (এটি কোনও হয় $ 4.44 বা 45 4.45, এর মধ্যে কিছুই নেই), কম্পিউটার সহজেই সংখ্যায় নির্ভুলতার সাথে একটি নম্বর সংরক্ষণ করতে পারে না। সঞ্চয়স্থানের অপূর্ণতা গণনাগুলির অসম্পূর্ণতা বাড়ে।

(এটি সামান্য প্রতারণা করা হলেও সমস্যাটি কী তা তাদের একটি ধারণা দেওয়া উচিত))


2
হায়, সেই ব্যাখ্যাটি কার্যকর হয় না, কারণ সংখ্যার যোগফল সংখ্যার সাথে সংক্ষিপ্তকরণের ক্ষেত্রে যথাযথতার সমস্যাটি ঘটতে পারে যা সবার সাথে সূচনা করার জন্য কেবলমাত্র দুটি অঙ্ক রয়েছে।
এরিক গ্রেঞ্জ

1
দুটি দশমিক সংখ্যা। হ্যাঁ, আমি সম্মত, একটি অনুসন্ধানী গ্রাহক এতে গর্তগুলি দেখবেন spot তবে তারপরে আপনি বাইনারি প্রতিনিধিত্বের আলোচনায় তাদের আঘাত করতে পারেন - তারা এটি চেয়েছিলেন ;-)
কোয়ান্ট_দেব

ঠিক আছে, ইতিমধ্যে ভাসমান পয়েন্টটি ব্যাখ্যা করার চেষ্টা করছেন তারা আইএমই তত্ক্ষণাত্ ভাবতে শুরু করেছেন যে আপনি তাদের বাঁশ দেওয়ার চেষ্টা করছেন, এটি এমন কিছু যা সহজ, বোধগম্য শর্তাবলী বা কোনও সুপরিচিত প্রতিষ্ঠান বা কর্পোরেশন থেকে আগত হলে এটিকে হ্রাস করা যেতে পারে। :)
এরিক গ্রেঞ্জ

1
@ এরিক ম্যাথ শক্ত, আসুন বেসবল খেলি: পি
কোয়ান্ট_দেব

1
নিকটতম 1/10 ", বা নিকটতম মিলিমিটারে কোনও কিছু পরিমাপ করা আরও সুনির্দিষ্ট কিনা তা জিজ্ঞাসা করুন The পরেরটি আরও সুনির্দিষ্ট, তবে অবজেক্টগুলি যা" 0.1 "এর একটি নির্দিষ্ট গুণক হয় সেগুলি যদি না হয় তবে এটি 1 মিমির যথাযথ একাধিক হবে না 5 এর যথাযথ একাধিক "(অবিকল 127 মিমি)। দুটি 2.54 মিমি অবজেক্টের আকার যা নিকটতম 0.1" পরিমাপ করা হয় তার মিলিত আকার 0.2 "লাভ করবে; একসাথে নিকটতম মিলিমিটারের সাথে বৃত্তাকার আকারগুলি যুক্ত করলে 6 মিমি ফল পাওয়া যাবে যদিও আসল আকার হওয়া উচিত 5.08mm।
supercat

1

2/3

তাদের 3 কে বিভক্ত দুটিতে সঠিক উত্তরটি লিখতে বলুন
যেহেতু উত্তরটি 'চিরকাল ধরে চলে' আপনি উত্তরটি নির্দেশ করতে পারেন।

1/3 ব্যবহার করাও কাজ করবে তবে 2/3 সম্ভবত কিছুটা ভাল উদাহরণ হিসাবে গোলাকৃতি আপনাকে দেয় (উদাঃ) .6666667 যেখানে .3333333 দেখে মনে হচ্ছে এটি কেবল কেটে নেওয়া যেতে পারে।


0

গণনাগুলি করার সময় কম্পিউটারগুলি সংখ্যায় প্রায় অনুমান ব্যবহার করে (যেমন 1000000.7 ব্যবহার করার পরিবর্তে তারা 1000000 ব্যবহার করে) কারণ আনুমানিক ব্যবহারগুলি আরও দ্রুত হয়। এর সাথে সমস্যাটি হ'ল আপনি যখন আনুমানিক সাথে গণনা করেন আপনি আনুমানিক ফিরে পাবেন। সাধারণত এটি বেশ ভালভাবে কাজ করে তবে কখনও কখনও এটি অপ্রত্যাশিত ফলাফলের দিকে নিয়ে যায়।


আপনি এখানে কি বলছেন তা আমি সত্যিই বুঝতে পারি না। "কেননা আনুমানিক ব্যবহার অনেক দ্রুত"? কখনও কখনও পূর্ণসংখ্যার গাণিতিক কমপক্ষে তত দ্রুত হয় এবং এটি সুনির্দিষ্ট। কখনও কখনও বিকল্প নেই (যেমন 2 এর বর্গমূল মুদ্রণের ক্ষেত্রে)।
ডেভিড থর্নলি

ঠিক আছে আপনি কোনও মার্কেটিং লোককে বোঝানোর চেষ্টা করে দেখেন যে কম্পিউটারগুলি আসলে অযৌক্তিক সংখ্যা বা মূলত জিনিসগুলির দুর্দান্ত স্কিমের কোনও সংখ্যা উপস্থাপন করতে পারে না (ওহ এবং তারপরে আপনি \ পাই এর অযৌক্তিকতা সম্পর্কে একটি দ্রুত বক্তৃতা দিতে চাইতে পারেন: কিছু ফুরিয়ার সিরিজটি সুন্দর হতে পারে)। আনুমানিক একটি শব্দ যা লোকেরা বুঝতে পারে। আপনি এমন একজনের দৃষ্টিকোণ থেকে এটি পৌঁছে যাচ্ছেন যে জানেন যে সমস্ত সংখ্যা সমান নয়।

0

কিছু গণনা কিছু আইনী নিয়ম অনুসারে করা হয়। উদাহরণস্বরূপ, আপনি যদি জার্মানিতে able 79.245,18 ডলার ট্যাক্সযোগ্য বার্ষিক আয়ের উপর কত আয়কর দিতে হবে তা গণনা করতে চান, কেবলমাত্র একটি সঠিক উত্তর আছে। আপনি এটি সঠিকভাবে পেতে বা আপনি এটি ভুল পেতে। আপনি যদি এটি সঠিকভাবে পান তবে আপনার কীভাবে ভাসমান পয়েন্ট গণিত কাজ করে তা বোঝানোর দরকার নেই। যদি আপনি এটি ভুল হয়ে থাকেন তবে আপনাকে কীভাবে ভাসমান পয়েন্ট গণিত কাজ করে তা বোঝানোর দরকার নেই, আপনাকে আপনার ভাঙা কোডটি ঠিক করতে হবে।

কখনও কখনও আপনি ফলাফল প্রদর্শন করেন যা সঠিক দেখাচ্ছে না। উদাহরণস্বরূপ, যদি আপনি দুটি দশমিক অঙ্কের সাথে মার্কিন ডলারকে 13,297.46 রূপান্তর করেন এবং তারপরে এই পরিমাণ যুক্তরাজ্যের পরিমাণ US মার্কিন ডলারে রূপান্তর করেন তবে আপনি 13,297.46 মার্কিন ডলার না হলেও মার্কিন ডলার 13,297.45 বা মার্কিন ডলার 13,297.47 পেতে পারেন। ভাসমান-পয়েন্ট পাটিগণিতের সাথে এর কোনও যোগসূত্র নেই। এটি একটি অনিবার্য সমস্যা এবং এটি অনিবার্য কেন তা আপনি আরও ভালভাবে ব্যাখ্যা করতে সক্ষম হবেন। (আপনি যখন ইউকে থেকে মার্কিন ডলার এবং পিছনে রূপান্তর করেন তখন সমস্যাটি কেন হয় না তাও আপনার জানা উচিত)।

অন্যান্য সম্ভাব্য ফলাফল রয়েছে যা সঠিক দেখাচ্ছে না। আপনি যদি সংখ্যাগুলিকে শতাংশে রূপান্তর করেন তবে শতাংশগুলি 100% পর্যন্ত যোগ করা উচিত, তবে তারা তা নাও পারে। আপনি যদি দুটি দশমিক সহ চার শতাংশ প্রদর্শন করেন তবে চারটি প্রদর্শিত শতাংশ 99.99% বা 100.01% পর্যন্ত যোগ করতে পারে। ভাসমান-পয়েন্ট পাটিগণিতের সাথে কিছুই করার নেই। তবুও আপনি কেন তা ব্যাখ্যা করতে সক্ষম হবেন।

এরপরে, এমন পরিস্থিতি রয়েছে যেখানে ভাসমান-পয়েন্ট গণিতের গাফিলতির ব্যবহার অনুপযুক্ত ফলাফলের দিকে নিয়ে যায়। উদাহরণস্বরূপ, একটি + বি + সি সাধারণত বি + সি + এ এর ​​মতো হয় না। যদি এটি সমস্যার কারণ হয়ে থাকে, তবে ব্যাখ্যা করার মতো কিছুই নেই, এটি এমন কিছু যা আপনি ঠিক করেছেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.