আমি কম্পিউটারে সংখ্যায়ন ব্যবস্থা সম্পর্কে একটি ছোট্ট লোককে শিক্ষা দিতে যাচ্ছি এবং ভাবছিলাম যে দশমিক সিস্টেমে ডিজিটের প্রতি কত বিট রয়েছে:
- হেক্স (বেস 16) - 4 বিট
- অক্টাল (বেস 8) - 3 বিট
- বাইনারি (বেস 2) - 1 বিট
- দশমিক (বেস 10) -?
আমি কম্পিউটারে সংখ্যায়ন ব্যবস্থা সম্পর্কে একটি ছোট্ট লোককে শিক্ষা দিতে যাচ্ছি এবং ভাবছিলাম যে দশমিক সিস্টেমে ডিজিটের প্রতি কত বিট রয়েছে:
উত্তর:
আপনি যা খুঁজছেন তা হ'ল 10 ভিত্তিক 2 ভিত্তিক লোগারিদম যা প্রায় 3.32192809489 এর একটি অযৌক্তিক সংখ্যা ....
দশমিক অঙ্কের জন্য আপনি সংখ্যার বিট সংখ্যাটি ব্যবহার করতে পারবেন না এটি হ'ল মূল কারণ হ'ল দশমিক ব্যবস্থায় (যেমন 1/5 বা 0.2) প্রকাশ করা সহজ অনেকগুলি ভগ্নাংশ কেন অসম্ভব (শক্ত নয়: সত্যই নয়) অসম্ভব) বাইনারি মধ্যে প্রকাশ করা। ভাসমান পয়েন্ট পাটিগণিতের রাউন্ডিং ত্রুটির মূল্যায়ন করার সময় এটি গুরুত্বপূর্ণ।
অন্য কথায়, এই সিস্টেমে একক অঙ্কে কত পরিমাণে তথ্য থাকে।
বেস 2, বেস 4, বেস 8, বেস 16 এবং অন্যান্য 2 এন ঘাঁটির উত্তরটি সুস্পষ্ট কারণ একটি বেস 2 এনতে প্রতিটি অঙ্ক হ'ল এন অঙ্কের সাথে প্রকাশ করা যেতে পারে।
কীভাবে এন 2 এন দেওয়া হয় ? ঠিক আছে, আপনি একটি 2-ভিত্তিক লোগারিদম ব্যবহার করেন যা ক্ষয়ক্ষতির বিপরীত।
K- এর সংখ্যার কে-ভিত্তিক লোগারিদমগুলি যে কে এর শক্তি নয়, তা মূল সংখ্যা নয়। নির্দিষ্টভাবে:
এই সংখ্যাটি বিভ্রান্তিকর লাগতে পারে তবে এটির কিছু ব্যবহার রয়েছে। উদাহরণস্বরূপ, এটি একক দশমিক অঙ্কের একটি এনট্রপি ।
আপনার ক্ষেত্রে, যদিও, আমি মনে করি না যে এই মানটি কোনও কাজে লাগবে। @ ক্রিশ্চিয়ানদের উত্তর কেন তা ব্যাখ্যা করার ক্ষেত্রে ভাল কাজ করে।
প্রশ্নটি ভুল পথে চালিত বলে আমি দুঃখিত sorry আপনি সেই পদ্ধতিতে বিট ব্যবহার করবেন না। কিছুটা বাইনারি ডিজিট । দশমিক সংখ্যা 10, বাইনারি 1010 (8 + 2) এ রূপান্তর করতে পারেন, সুতরাং দশমিক মান 10 প্রকাশ করার জন্য আপনার 4 বিট লাগবে।
আপনি বাইনারি (2), অক্টাল (8) এবং হেক্সাডেসিমেল (16) উদাহরণ হিসাবে ব্যবহার করে কিছুটা ফাঁদে পড়ে গেছেন, কারণ এগুলি 2 এর সমস্ত শক্তি, এবং এইভাবে আপনি বিটগুলির ক্ষেত্রে এটি সম্পর্কে ভাবতে পারেন, যদিও 10 2 এর শক্তি নয়, সুতরাং এটি ঠিক তেমন ভাল কাজ করে না।
বিসিডি - বাইনারি কোডেড ডেসিমাল প্রতি অঙ্কে 4 বিট ব্যবহার করে, যা হেক্সাডেসিমালের সমান।
বিটগুলি ব্যবহার করা 2 এর শক্তিকে বোঝায়, সুতরাং, অন্যরা যেমন বলেছে যে আপনি 10 টি বিটগুলি সহজেই বর্জ্য ছাড়াই বাইটে রাখতে পারবেন না। একটি সাধারণ সমাধান হেক্সাডেসিমাল অনুযায়ী 4 বিট ব্যবহার এবং এএফ হিসাবে প্রতিনিধিত্ব করা 6 টি রাজ্য অপচয় করা হয়। আকর্ষণীয় বিট এটি দিয়ে দশমিক গণিত করছে - এটি পরিষ্কার এবং সহজ নয়।
মিকি মাউস কীভাবে একটি গণনা ব্যবস্থা তৈরি করতে পারে তার তুলনা করার জন্য একটি দরকারী শিক্ষণ ধারণা হতে পারে, কারণ তার হাতে প্রতি হাতে কেবল 4 টি আঙ্গুল রয়েছে - যা প্রাকৃতিকভাবে একটি অষ্টাল ভিত্তিক সিস্টেমের দিকে নিয়ে যায়।
এটি একটি ওভারসিম্প্লিফিকেশন হতে পারে তবে আপনি কোন প্রশ্ন জিজ্ঞাসা করছেন তার উপর এটি নির্ভর করে।
(এবং উত্তরটি মূলত অষ্টাল বা হেক্স)
আমি ভগ্নাংশ বিটকে বিট হিসাবেও বিবেচনা করি না কারণ ব্যবহারিক ব্যবহারের বিটগুলিতে ভগ্নাংশ নেই।
Q1: দশমিক অঙ্কে আপনি কতটি বিট উপস্থাপন করতে পারেন ?
এ 1: আপনি একক দশমিক অঙ্কে 3 বিটের তথ্য উপস্থাপন করতে পারেন:
সর্বাধিক সাধারণ স্কিমটি মোড়ানো সহ সরাসরি বাইনারি হবে যেখানে 0 = 8 = 000 এবং 1 = 9 = 001। তবে আপনি যে কোনও স্কিম ব্যবহার করতে পারতেন এমন কিছুই নেই যা বলে যে বিটগুলি দশমিক অঙ্কগুলিতে এনকোড করার একমাত্র উপায়।
অথবা
প্রশ্ন 2: দশমিক অঙ্কের প্রতিনিধিত্ব করতে কয়টি বিট লাগে?
এ 2: সমস্ত দশমিক সংখ্যা উপস্থাপনের জন্য আপনার কমপক্ষে 4 টি বিট লাগবে। কিছু বর্জ্য বা মোড়ক দিয়ে।
আবার সর্বাধিক প্রচলিত স্কিমটি মোড়কের সাথে সরাসরি বাইনারি হবে তবে আপনি অন্য কোনও স্কিম ব্যবহার করতে পারেন।
বেস 1024, প্রতিটি প্রতীক 10 বিট হয়। তিন দশমিক অঙ্কের দশমিক বেসের এক অঙ্কের মতো একই পরিমাণের তথ্য রয়েছে, যা 1024 এর চেয়ে সামান্য কম Therefore সুতরাং, দশমিক অঙ্কের 10/3 বিট থেকে কিছুটা কম। এই অনুমানটি ৩.৩৩৩৩৩৩ ... দেয়, সঠিক সংখ্যাটি ৩.৩২২৯২৮ ...
দাবি অস্বীকার - আমি কোন তথ্য তাত্ত্বিক নই, কেবল একটি কোড বানর যিনি প্রাথমিকভাবে সি এবং সি ++ এ কাজ করেন (এবং এইভাবে স্থির-প্রস্থের প্রকারের সাথে), এবং আমার উত্তরটি সেই নির্দিষ্ট দৃষ্টিকোণ থেকে হতে চলেছে।
লাগে গড়ে 3.2 বিট একটি একক দশমিক অঙ্ক প্রতিনিধিত্ব করতে - 7 মাধ্যমে 0, 3 বিট মধ্যে প্রতিনিধিত্ব করা যাবে যখন 8 এবং 9 4. প্রয়োজন (8*3 + 2*4)/10 == 3.2
1 ।
এটি শোনার চেয়ে কম দরকারী। একটি জিনিস জন্য, আপনার স্পষ্টতই কিছুটা ভগ্নাংশ নেই। অন্যটির জন্য, আপনি যদি দেশীয় পূর্ণসংখ্যার প্রকারগুলি (যেমন, বিসিডি বা বিগইন্ট নয়) ব্যবহার করছেন তবে আপনি দশমিক অঙ্কের (বা তাদের বাইনারি সমতুল্য) ক্রম হিসাবে মানগুলি সংরক্ষণ করছেন না। একটি 8 বিট টাইপ এমন কিছু মান সংরক্ষণ করতে পারে যা 3 দশমিক অঙ্কের অবধি লাগে তবে আপনি 8 বিটে সমস্ত 3-দশমিক-অঙ্কের মানগুলি উপস্থাপন করতে পারবেন না - সীমাটি [0..255]
। আপনি [256..999]
মাত্র 8 টি বিটগুলিতে মানগুলি উপস্থাপন করতে পারবেন না ।
যখন আমরা মানগুলির বিষয়ে কথা বলি, অ্যাপ্লিকেশন যদি এটির প্রত্যাশা করে তবে আমরা দশমিক ব্যবহার করব (উদাহরণস্বরূপ, ডিজিটাল ব্যাংকিং অ্যাপ্লিকেশন)। যখন আমরা বিটগুলির কথা বলছি , আমরা সাধারণত হেক্স বা বাইনারি ব্যবহার করব (যেহেতু আমি 8-বিট বাইট এবং 32-বিট শব্দ ব্যবহার করে এমন সিস্টেমে কাজ করি যেহেতু আমি প্রায়শই অক্টাল ব্যবহার করি না) যা 3 দ্বারা বিভাজ্য নয়)
দশমিক হিসাবে প্রকাশিত মানগুলি বাইনারি ক্রমগুলিতে পরিষ্কারভাবে মানচিত্র করে না। দশমিক মান নিন 255
। প্রতিটি ডাক বাইনারি সমতুল হবে 010
, 101
, 101
। তবুও, মানটির বাইনারি উপস্থাপনা 255
হ'ল 11111111
। সেখানে কেবল মধ্যে কোন সাদৃশ্য নেই কোনো বাইনারি ক্রম মূল্য দশমিক সংখ্যা। তবে হেক্স ডিজিটের সাথে সরাসরি চিঠিপত্র রয়েছে - F == 1111
যাতে সেই মানটি FF
হেক্সের মতো উপস্থাপন করা যায়।
যদি আপনি এমন কোনও সিস্টেমে থাকেন যেখানে 9-বিট বাইট এবং 36-বিট শব্দগুলি আদর্শ হয় তবে বিটস গ্রুপটি প্রাকৃতিকভাবে থ্রিসে পরিণত হওয়ার পরে অষ্টাল আরও অর্থবোধ করে।
1001001
মানচিত্রগুলিতে 73
( 64 + 8 + 1
) ব্যবহার করছে। আমি এটি বাইনারি কোডেড দশমিক অঙ্কের ক্রম হিসাবে ব্যাখ্যা করি না। যদি এটি বিসিডি হওয়ার কথা , যা অবশ্যই প্রতি ডিজিটে 4 বিট ব্যবহার করে, তবে আমাদের অবশ্যই একটি শীর্ষস্থানীয় 0
বিট ধরে নিতে হবে , তাই এটি অবশ্যই হবে 49
।
3.2
চিত্রটি পেয়েছেন তা সীমাবদ্ধ তথ্য তত্ত্বকে লঙ্ঘন করে log(10)/log(2)
।
যদি আমি এটি শেখাচ্ছিলাম তবে আমি প্রথমে একটি সংখ্যার (অঙ্কের একটি সিরিজ হিসাবে প্রকাশিত) অর্থ কী তা ব্যাখ্যা করব। অর্থাত্, ডান থেকে বামে, বেস এন ধরে নিয়েছেন, একটি * এন ^ 0 + বি * এন ^ 1 + সি * এন ^ 2 ... জেড * এন ^ y।
তারপরে ব্যাখ্যা করুন যে 10 ^ 3 প্রায় 2 ^ 10 এর সমান It এটি সঠিক নয় এবং এটি কম্পিউটারে কারণ, আমরা প্রায়শই জানি না 2 কে আসলে কী বোঝায় (এটি কি 2,000 বা 2,048?) দ্রুত আনুমানিকতার জন্য এটি মোটামুটি কার্যকরভাবে কাজ করে। 2 ^ 16 প্রায় 2 ^ (16 - 10) * 1,000, বা 2 ^ 6 (64) * 1,000 বা 64,000। বাস্তবে, এটি 65,536, তবে যদি আপনি এক শতাংশের কাছাকাছি থাকার কথা মনে করেন না, এটি দ্রুত সান্নিধ্যের জন্য মোটামুটি ভাল কাজ করে।
d
, এটি এক দশমিক সংখ্যা, এর ব্যাপ্তি জুড়ে0..9
।3*d
বিটগুলির অর্থ তিনটি দশমিক অঙ্ক এবং আপনাকে পরিসীমা থেকে পূর্ণসংখ্যার প্রতিনিধিত্ব করতে দেয়0..999
। পুরো দশ বিট (এখন বাইনারি ভাবেন) এর পরিসর দেয়0..1023
। 999 1023 এর কাছাকাছি, এখনও কিছুটা কম। সুতরাং আপনি আশা করতে পারেনd
10/3 এর চেয়ে কম হওয়া উচিত।