কম্পিউটারগুলি কেন দশমিক সংখ্যাগুলিকে দ্বিতীয় পুরো সংখ্যা হিসাবে সঞ্চয় করে না?


24

কম্পিউটারগুলিকে ভগ্নাংশের সংখ্যা সংরক্ষণ করতে সমস্যা হয় যেখানে ডিনোমিনেটর 2 ^ x এর সমাধান ব্যতীত অন্য কিছু। কারণ দশমিকের পরে প্রথম অঙ্কটির মূল্য 1/2, দ্বিতীয় 1/4 (বা 1 / (2 ^ 1) এবং 1 / (2 ^ 2)) ইত্যাদি is

কম্পিউটার যখন কেবলমাত্র পুরো সংখ্যার দশমিক অংশটিকে অন্য পুরো সংখ্যা হিসাবে সঞ্চিত করতে পারে (যেটি সঠিক?)

আমি কেবলমাত্র ডেসিমালগুলি পুনরায় করা (10 বেসে) সাথে ডিল করার বিষয়টি ভাবতে পারি, তবে এটির একটি কিন্ত সমাধান হতে পারে (যেমন আমাদের কাছে বর্তমানে অনন্ত রয়েছে)।


8
ভাসমান / দ্বৈত প্রকারের বিপরীতে দশমিক প্রকারগুলি কীভাবে সংরক্ষণ করা হয় তা আপনার সন্ধান করা উচিত।
ওডেড করুন

9
কীভাবে এটি আরও সঠিক তা জানেন না। দশমিকের পরে প্রথম সংখ্যাটি 1/10 হ'ল দ্বিতীয় 1/100 ইত্যাদি How আপনি কীভাবে আরও সঠিকভাবে গোলাকার সমস্যা পেতে পারেন (আপনি কীভাবে 1/3 প্রতিনিধিত্ব করবেন)? পার্থক্যটি হ'ল কোন মানটি যা সঠিকভাবে উপস্থাপন করতে পারে।
মার্টিন ইয়র্ক 21

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

1
দিনের শেষে, এটি দক্ষতার দিকে ফোটে। কম্পিউটারগুলি বাইনারি এবং এই বাইনারি উপস্থাপনের সাথে কাজ করার জন্য সার্কিটগুলি কম জটিল are এর গুরুত্ব আজ কিছুটা কমে যেতে পারে তবে ত্রিশের এমন সময় ছিল যখন এটি ছিল অত্যন্ত তাৎপর্যপূর্ণ। এছাড়াও আপনার কম্পিউটারে আপনার নম্বর (একটি সীমাবদ্ধ স্থানে) সংরক্ষণ করার জন্য যে কোনও উপস্থাপনা বেছে নেওয়া হয়েছে তার একটি সীমাবদ্ধ মান থাকবে যা এটি উপস্থাপন করতে পারে এবং এগুলির সমস্ত কিছু ইনপুট সহ গোলাকার ত্রুটিগুলি প্রদর্শন করবে। মান্টিসা এবং এক্সপোনেন্টের সাথে আদর্শ ভাসমান পয়েন্ট ফর্ম্যাটটি আরও দুটি বৃহত্তর পরিসীমা সরবরাহ করে তবে দুটি পূর্ণসংখ্যার ব্যবহার সম্ভব হবে।
মিঃ মাইন্ডার 21

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

উত্তর:


35

আসলে সংখ্যাগুলির মোডগুলি এটি করে।

বাইনারি-কোডড দশমিক (বিসিডি) পাটিগণিত 10 বেসে কম্পিউটারের কাজ করে কারণ আপনি এটি খুব কমই চালানোর কারণ এটি স্থান অপচয় করে: একটি সংখ্যার প্রতিটি স্বতন্ত্র সংখ্যা সর্বনিম্ন চার বিট লাগে, অন্যদিকে কম্পিউটার অন্যথায় আপ সংরক্ষণ করতে পারে যে স্থান 16 মান। (এটি ধীরে ধীরেও হতে পারে তবে হার্ডওয়ার-ত্বরণকারী বিসিডি গণিতের পক্ষে ঠিকঠাক কাজ করা সম্ভব))। এটি প্রকৃতপক্ষে, বেশিরভাগ ক্যালকুলেটররা ঠিক তাই করেন, এই কারণেই কিছু নির্দিষ্ট ক্লাস রয়েছে যেগুলি গোল করার সমস্যাগুলি আপনি কখনই hit 5 এ আঘাত করবেন না এমন ক্যাসিও যা ডেস্কটপ কম্পিউটারে আপনার লাঞ্চ খাবে eat

আপনি যে অন্যান্য রুটে নিতে পারেন তা হল যুক্তিযুক্ত সংখ্যাগুলি ব্যবহার করা - এটি হল একটি সংখ্যার এবং একটি ডিনোমিনেটর হিসাবে পূর্ণসংখ্যা হিসাবে সংরক্ষণ করা as এটি প্রকৃতপক্ষে প্রায় সকল ভাষায় উপলভ্য, সঠিক এবং এটি আপনাকে দেশীয় বাইনারি ফর্ম্যাটে সমস্ত কিছু সংরক্ষণ করতে দেয়। সমস্যাটি হ'ল, দিন শেষে ব্যবহারকারীরা সম্ভবত 463/13, এমনকি 35 এবং 8/13 এর মতো ভগ্নাংশও দেখতে চান না। তারা 35.615 ... দেখতে চায় এবং আপনি সেখানে পৌঁছানোর মুহুর্তে আপনি সমস্ত সাধারণ সমস্যার মুখোমুখি হন। যুক্ত করুন যে এই ফর্ম্যাটটি আরও বেশি জায়গা নেয় এবং ভাসমান পয়েন্ট গণিতের তুলনায় উল্লেখযোগ্যভাবে ধীর হতে পারে এবং আপনি কোনও কম্পিউটার ডিফল্টরূপে এই ফর্ম্যাটটি ব্যবহার করতে পারবেন না।

সুতরাং: কম্পিউটারগুলি আপনি যা করতে পারে তা করতে পারে তবে এটি ধীর এবং এটি স্থান অপচয় করে, তাই যখন তারা সত্যই করতে হবে কেবল তখনই এটি করে। বাকি সময়, ভাসমান পয়েন্টের গতি এবং স্থান সঞ্চয় একটি ভাল বাণিজ্য-বন্ধ-


আপনি কি বিসিডির অনুচ্ছেদে চারটি বিট (বাইট নয়) বোঝাতে চাইছেন ?

3
অন্য বিকল্পটি নির্দিষ্ট পয়েন্ট গণিত, যেখানে কোনও সংখ্যার যদি পূর্ণসংখ্যার দশমিক ভগ্নাংশ উপস্থাপন করে - উদাহরণস্বরূপ মান মান সংরক্ষণ করা (দশমিক বা শতাংশের সাথে গণনা ছাড়াই) যেখানে 1 $ 0.01 উপস্থাপন করে।
mattnz

1
@ ম্যাট্টনজ: সত্য — স্থির-পয়েন্টগুলি যুক্তিগুলির একটি বিশেষ ক্ষেত্রে।
জন পুরি

আশ্চর্যজনক, ক্যালকুলেটররা এটি করেছিল তা জানতেন না।
সোমারকিটেনস

3
তৃতীয় বিকল্প আছে। দশমিক সংখ্যক, যেমন সি # decimalকীভাবে কার্যকর করা হয় তার সাথে ভাসমান বিন্দু : stackoverflow.com/a/5019178/174335 দশমিক সংখ্যাগুলির স্বতন্ত্র উপস্থাপনা না থাকায় এটি বিসিডি নয়, এবং এটি নির্দিষ্ট পয়েন্ট নয়।
জোরেেন

38

ভগ্নাংশের সংখ্যা সংরক্ষণের বিভিন্ন উপায় রয়েছে এবং তাদের প্রত্যেকেরই সুবিধা এবং অসুবিধা রয়েছে।

ভাসমান-পয়েন্টটি এখন পর্যন্ত সর্বাধিক জনপ্রিয় ফর্ম্যাট। এটি একটি চিহ্ন, একটি ম্যান্টিসা এবং একটি স্বাক্ষরিত বেস -২ এক্সপেনশনটিকে পূর্ণসংখ্যার মধ্যে এনকোড করে এবং তাদের একগুচ্ছ বিটগুলিতে প্যাক করে কাজ করে। উদাহরণস্বরূপ, যদি আপনি একটি 32 বিট অংশক হতে পারে 0.5(যেমন এনকোড 0x88888888) এবং একটি 32 বিট স্বাক্ষর এক্সপোনেন্ট +3( 0x00000003), যা থেকে ডিকোড হবে 4.0(0.5 * 2 ^ 3)। ভাসমান-পয়েন্ট নম্বরগুলি দ্রুত, কারণ এগুলি হার্ডওয়্যারে প্রয়োগ করা হয় এবং তাদের যথার্থ আকারের সাথে যথার্থ আকারের স্কেল হয়, এটির সংখ্যাটি যত কম ততই আপনার নিখুঁত নির্ভুলতা, তাই আপেক্ষিক বৃত্তাকার ত্রুটি পরম আকারের সাথে স্থির থাকে। দৈর্ঘ্য, শব্দ চাপ স্তর, আলোর স্তর ইত্যাদির মতো অবিচ্ছিন্ন ডোমেন থেকে নমুনাযুক্ত মানগুলির জন্য ভাসমানগুলি দুর্দান্ত এবং এর কারণে এগুলি সাধারণত অডিও এবং চিত্র প্রক্রিয়াকরণে ব্যবহৃত হয়, পাশাপাশি পরিসংখ্যান বিশ্লেষণ এবং পদার্থবিজ্ঞানের সিমুলেশনগুলির ক্ষেত্রেও ব্যবহৃত হয়। তাদের বৃহত্তম নেতিবাচকতা হ'ল এগুলি সঠিক নয়, অর্থাত্ তারা গোলাকার ত্রুটির প্রবণ এবং তারা সমস্ত দশমিক ভগ্নাংশকে সঠিকভাবে উপস্থাপন করতে পারে না। সমস্ত মূলধারার প্রোগ্রামিং ভাষার কোনও ধরণের ভাসমান পয়েন্ট রয়েছে।

নির্দিষ্ট বিন্দুযথেষ্ট বড় পূর্ণসংখ্যা ব্যবহার করে এবং স্পষ্টভাবে ভগ্নাংশের অংশের জন্য তাদের বিটের একটি অংশ সংরক্ষণ করে কাজ করে। উদাহরণস্বরূপ, একটি 24.8 বিট স্থির-পয়েন্ট সংখ্যা পূর্ণসংখ্যার অংশের জন্য 24 বিট (চিহ্ন সহ) সংরক্ষণ করে এবং ভগ্নাংশের অংশের জন্য 8 বিট সংরক্ষণ করে। এই সংখ্যাটি 8 টি বিটের মাধ্যমে ডান স্থানান্তরিত করে আমাদের পূর্ণসংখ্যার অংশ দেয়। হার্ডওয়্যার ফ্লোটিং-পয়েন্ট ইউনিটগুলি অসাধারণ বা তাদের পূর্ণসংখ্যার অংশগুলির তুলনায় কমপক্ষে ধীরে ধীরে জনপ্রিয় হওয়ার সময় স্থির-পয়েন্ট নম্বরগুলি ব্যবহৃত হত। স্থির-পয়েন্ট সংখ্যাগুলি নির্ভুলতার দিক দিয়ে পরিচালনা করা কিছুটা সহজ (যদিও এটির কারণটি বিবেচনা করা সহজ কারণেই), তারা অন্য সকল ক্ষেত্রে ভাসমানের চেয়ে নিকৃষ্ট - তাদের কম নির্ভুলতা, একটি ছোট পরিসর এবং অতিরিক্ত কারণ সংক্রামিত শিফ্টের জন্য গণনা সংশোধন করার জন্য অপারেশনগুলি প্রয়োজন, ফিক্স-পয়েন্ট গণিত আজ প্রায়শই ভাসমান-পয়েন্ট গণিতের চেয়ে ধীর হয়।

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

যৌক্তিক সংখ্যাগুলি একটি সংখ্যক এবং একটি গণক সঞ্চয় করে সাধারণত সাধারণত কিছু ধরণের বিগানাম পূর্ণসংখ্যার প্রকার (কম্পিউটারের মেমরির সীমাবদ্ধতার অনুমতি অনুসারে বৃহত্তর বৃদ্ধি পেতে পারে এমন একটি সংখ্যার প্রকার) ব্যবহার করে। এই গুচ্ছের বাইরে থাকা একমাত্র ডেটা টাইপ যা সঠিকভাবে সংখ্যার মতো মডেল করতে পারে 1/3বা তার 3/17পাশাপাশি তাদের উপর ক্রিয়াকলাপগুলি - অন্যান্য ডেটা ধরণের মত নয়, যুক্তিযুক্ত জিনিসগুলির মতো সঠিক ফলাফল আনবে3 * 1/3। গণিতটি বেশ সোজা, যদিও একটি দক্ষ ফ্যাক্টরিং অ্যালগরিদম উপস্থিত হওয়া বরং চ্যালেঞ্জিং। কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজগুলিতে সেগুলি যুক্তিযুক্ত ধরণের থাকে (যেমন কমন লিস্প)। যৌক্তিকতার ডাউনসাইডগুলি অন্তর্ভুক্ত করে যে তারা ধীর গতির (অনেক ক্রিয়াকলাপ ভগ্নাংশ হ্রাস এবং তাদের উপাদানগুলি ফ্যাক্টর করার প্রয়োজন), এবং অনেকগুলি সাধারণ ক্রিয়াকলাপ বাস্তবায়ন করা শক্ত বা অসম্ভব এবং বেশিরভাগ বাস্তবায়ন যখন ঘটে থাকে তখন (যেমন যখন আপনি কল করবেন) তত্ক্ষণিকভাবে যুক্তিটিকে অবনমিত করে দেবে sin()একটি যৌক্তিক উপর)।

বিসিডি (বাইনারি কোডেড দশমিক) স্বতন্ত্র অঙ্কগুলি এনকোড করতে "নিবলস" (4 বিটের গ্রুপ) ব্যবহার করে; যেহেতু একটি স্তন্যপায়ী 16 টি পৃথক মান ধরে রাখতে পারে তবে দশমিক সংখ্যার জন্য কেবল 10 টি প্রয়োজন, তাই পিচ্ছিল্যে 6 টি "অবৈধ" মান রয়েছে। দশমিকের মতো, বিসিডি সংখ্যা দশমিক-হুবহু অর্থাত্ দশমিক সংখ্যার উপর সম্পাদিত গণনাগুলি ঠিক সেভাবেই কাজ করে যদি আপনি সেগুলি কলম এবং কাগজ ব্যবহার করে করেন। বিসিডির জন্য গাণিতিক নিয়মগুলি কিছুটা আনাড়ি, তবে উলটো দিকটি হ'ল এগুলি এম্বেডেড সিস্টেমের মতো স্বল্প-সংস্থান পরিবেশের জন্য বিশেষত আকর্ষণীয় অন্যান্য ফর্ম্যাটগুলির চেয়ে স্ট্রিতে রূপান্তর করা সহজ is

স্ট্রিংস , হ্যাঁ, সরল পুরানো স্ট্রিংগুলি ভগ্নাংশের সংখ্যা উপস্থাপন করতেও ব্যবহার করা যেতে পারে। প্রযুক্তিগতভাবে, এটি বিসিডির সাথে খুব অনুরূপ, কেবলমাত্র একটি স্পষ্ট দশমিক ডট আছে এবং আপনি দশমিক অঙ্কের জন্য একটি পূর্ণ বাইট ব্যবহার করেন। এই হিসাবে, ফর্ম্যাটটি অপব্যয়যোগ্য (256 টির মধ্যে কেবল 11 টি মান ব্যবহৃত হয়) তবে বিসিডির তুলনায় পার্স করা এবং জেনারেট করা সহজ। অতিরিক্ত হিসাবে, সমস্ত ব্যবহৃত মানগুলি "সন্দেহজনক", ক্ষতিকারক এবং প্ল্যাটফর্ম-নিরপেক্ষ, স্ট্রিং-এনকোডেড নম্বরগুলি সমস্যা ছাড়াই নেটওয়ার্কগুলিতে ভ্রমণ করতে পারে। স্ট্রিংগুলিতে সরাসরি পাটিগণিতের সন্ধান পাওয়া অস্বাভাবিক, তবে এটি সম্ভব এবং আপনি যখন এটি করেন, সেগুলি অন্যান্য দশমিক বিন্যাসের (দশমিক এবং বিসিডি) ঠিক ঠিক দশমিক-হুবহু।


অবশ্যই 32-বিট স্থির পয়েন্টের 32-বিট ভাসমান পয়েন্টের চেয়ে বেশি নির্ভুলতা রয়েছে, যেহেতু স্থির বিন্দু উপস্থাপনাগুলি কোনও ম্যান্টিসা অন্তর্ভুক্ত করে না।
হান

4
@han: আপনি যে সংখ্যাটি সঞ্চয় করতে চান তার আকারের উপর নির্ভর করে। সংখ্যাগুলি যত বড় বা ছোট হোক না কেন ফ্লোটগুলি (মোটামুটিভাবে) আপনাকে একই সূক্ষ্মতা দেবে যখন নির্দিষ্ট পয়েন্ট কেবলমাত্র আপনাকে সম্পূর্ণ নির্ভুলতা দেবে যদি আপনি সংরক্ষণ করতে চান এমন নম্বরটি তার পরিসরের মধ্যে পুরোপুরি ফিট করে।
লিও

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

@ যেহেতু: তাদের একই স্পষ্টতা রয়েছে (বা প্রায়)। পার্থক্যটি হ'ল স্থির-বিন্দু সংখ্যার জন্য, নির্ভুলতা (যেমন একটি সংখ্যা থেকে তার উত্তরসূরের দিকে আলাদা পদক্ষেপের আকারে) ধ্রুবক, ঠিক যেমন পূর্ণসংখ্যার সাথে, তবুও ভাসমানের সাথে, এটি মোটামুটি লিনিয়ারালি পরম মানের সাথে বৃদ্ধি পায় - ভাসা ১০.০ সংখ্যার সাথে এটির 10,000,000.0 সংখ্যার চেয়ে আরও স্পষ্টতা রয়েছে (প্রায় এক মিলিয়ন গুণ বেশি, মোটামুটি)।
tdammers

6

ভাসমান পয়েন্ট সংখ্যাগুলি বিস্তৃত মানগুলির প্রতিনিধিত্ব করে, যা মূল্যবানগুলি কী হতে পারে যখন আপনি আগেই জানেন না তবে এটি একটি কার্যকর ise দ্বিতীয় পূর্ণসংখ্যার সাথে 1/10 ^ 100 উপস্থাপন করা কাজ করবে না।

কিছু ভাষার (এবং কিছু গ্রন্থাগার) অন্যান্য বৈশিষ্ট্য রয়েছে। লিস্পের traditionতিহ্যগতভাবে অসীম নির্ভুল পূর্ণসংখ্যা রয়েছে। কোবোলের নির্দিষ্ট পয়েন্ট দশমিক সংখ্যার সাথে গণনা রয়েছে।

সমস্যা ডোমেনের জন্য আপনার নিজের নম্বর উপস্থাপন নির্বাচন করতে হবে।


1

দেখে মনে হচ্ছে আপনি স্থির-পয়েন্ট সংখ্যা বর্ণনা করছেন ।

মনে রাখবেন যে একটি সংখ্যার ভগ্নাংশটি পৃথক স্থানে সংরক্ষণ করা একক স্থান তৈরির দ্বিগুণ দ্বিগুণ এবং দুটি পৃথক অংশে পুরো এবং ভগ্নাংশের অংশটি সংরক্ষণ করার জন্য হুবহু মিল। অন্য কথায়, সংখ্যাটি পূর্ণসংখ্যা হিসাবে সংরক্ষণ করার জন্য অভিন্ন তবে কেবলমাত্র দশমিক স্পেসের একটি নির্দিষ্ট সংখ্যা ধরে নেওয়া।

সাধারণত ভাসমান-পয়েন্ট নম্বরগুলি বৈজ্ঞানিক স্বরলিপিতে বাইনারি পরিবর্তনের সাহায্যে সংরক্ষণ করা হয় কারণ সাধারণত যা গুরুত্বপূর্ণ তা উল্লেখযোগ্য অঙ্ক। যদিও আরও অনেক পদ্ধতি বিদ্যমান। স্থায়ী-পয়েন্ট দশমিক সংখ্যা সাধারণত মুদ্রার মানগুলি সংরক্ষণের জন্য ব্যবহৃত হয়, যেখানে নির্দিষ্ট দশমিক জায়গার নির্দিষ্ট সংখ্যা পর্যন্ত নির্ভুলতা গুরুত্বপূর্ণ তবে প্রয়োজনীয় দশমিক সংখ্যার সংখ্যা কখনই পরিবর্তিত হয় না।


1

এটিকে বিসিডি বলা হবে, আমি মনে করি আপনি যদি সত্যিই চান তবে আপনি এটি ব্যবহার করতে পারেন। তবে এটি এর মতো সত্যই মূল্যবান নয়:

  1. আপনি খুব কমই bit৪ বিট ভাসমান পয়েন্ট সহ গোলাকার ত্রুটিতে চলে যাবেন
  2. এটি পাটিগণিত জটিল এবং অদক্ষ করে তোলে
  3. এটি প্রতি 4 বিটে 6 মান নষ্ট করে

প্রারম্ভিক 8-বিট মাইক্রোপ্রসেসর সিস্টেমগুলিতে বিসিডি গণিত প্রচুর ব্যবহৃত হয়েছিল; প্রকৃতপক্ষে, একটি জনপ্রিয় মাইক্রোপ্রসেসরের উপর (6502), বিসিডির সাথে সংযোজন এবং বিয়োগ বাইনারিগুলির সাথে প্রতি বাইটে ঠিক তত দ্রুত। ভিডিও গেমগুলি স্কোর-রক্ষার জন্য প্রায়শই বিসিডি গণিত ব্যবহার করে। ১,০০,০০০ পয়েন্টে স্কোর মোড়ানোর জন্য বিশেষ কোনও হ্যান্ডলিং নেই। পরিবর্তে, 1 "99 99 99" এর সাথে একটি ক্যারি দিয়ে "00 00 00" ফলন যোগ করা হবে যা উপেক্ষা করা হবে। বাইনারি মানকে প্রদর্শনযোগ্য বিন্যাসে রূপান্তর করার ব্যয়ের তুলনায় বিসিডিতে স্কোর যুক্ত করার অতিরিক্ত ওভারহেড সামান্য।
সুপারক্যাট

1

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

এটি মূলত হার্ডওয়্যারগুলিতে সমর্থিত হতে থাকে কারণ বৈজ্ঞানিক গণনাগুলি হার্ডওয়্যার সমর্থন থেকে সবচেয়ে বেশি উপকৃত হয়েছে be উদাহরণস্বরূপ, আর্থিক গণনাগুলি প্রায়শই অন্যান্য ফর্ম্যাটগুলির সাথে করা হয় - তবে আর্থিক সফ্টওয়্যার সাধারণত যথেষ্ট পরিমাণে সত্যিকারের গণনা করে না যে প্রয়োজনীয় ফরম্যাটগুলি কেবল সফ্টওয়্যারটিতে সমর্থিত হলেও, বেশিরভাগ আর্থিক সফ্টওয়্যারটির জন্য পারফরম্যান্স পুরোপুরি পর্যাপ্ত থাকে।

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