আপনি দশমিককে বাইনারি এবং বাইনারি দশমিক হিসাবে রূপান্তর করতে পারেন। তবে আপনি কীভাবে "256" নাম্বারটি উপস্থাপন করতে পারেন?
255 = 11111111
1 বাইটে 8 টির বেশি বাইনারি ডিজিট (বিট) থাকতে পারে না এটা কিভাবে সম্ভব?
আপনি দশমিককে বাইনারি এবং বাইনারি দশমিক হিসাবে রূপান্তর করতে পারেন। তবে আপনি কীভাবে "256" নাম্বারটি উপস্থাপন করতে পারেন?
255 = 11111111
1 বাইটে 8 টির বেশি বাইনারি ডিজিট (বিট) থাকতে পারে না এটা কিভাবে সম্ভব?
উত্তর:
আপনি বাইনারিতে 256 টি কীভাবে উপস্থাপন করবেন তা জিজ্ঞাসা করেছেন, তবে আমি অনুমান করছি আপনি লোকেরা কেন বাইট 256 বিভিন্ন সংখ্যা সংরক্ষণ করতে পারে তা ভাবছেন, যখন এটির বৃহত্তম সংখ্যা 255 হয় Cla ক্লাউডিয়প যেমন বলেছিলেন, কম্পিউটারগুলি 0 এ গণনা শুরু করে, তাই 0 আসলে প্রথম সংখ্যা, 1 দ্বিতীয়, 2 তৃতীয় ... 255 256 তম।
এছাড়াও, 11111111 স্বাক্ষরযুক্ত বাইটের জন্য কেবল 255। যখন আপনার একটি স্বাক্ষরিত বাইট রয়েছে (স্বাক্ষরিত মানটি হ'ল নেতিবাচক মানগুলি ধরে রাখতে পারে), 11111111 আসলে -1 হয়। Http://en.wikedia.org/wiki/Two's_complement দেখুন । যেভাবে দু'টির পরিপূরক কাজ করে, এটিতে ইতিবাচক সংখ্যার ফলাফলের সাথে নেতিবাচক সংখ্যা যুক্ত করে 0.. ফলাফল হিসাবে অন্যান্য লোকেরা বলেছেন, আমরা যদি 11111111 তে কিছুটা যুক্ত করি এবং আপনার ডাটাটাইপটি কেবল 8 টি বিটকে সমর্থন করতে পারে তবে শেষ বিটটি উপচে পড়বে এবং আপনাকে ছেড়ে চলে যাবে 0. স্বাক্ষরিত বাইটগুলির জন্য, মানগুলি -128 থেকে 127 পর্যন্ত হয় 12
স্বাক্ষরিত মানগুলির জন্য, প্রথম বিটটি "চিহ্ন" বিট। যদি এই বিটটি সেট করা থাকে তবে সংখ্যাটি negativeণাত্মক। 10000000 negativeণাত্মক, 01000000 ইতিবাচক, 11111111 negativeণাত্মক, 01111111 ইতিবাচক ...
যদি আপনি উইন্ডোতে থাকেন (সম্ভবত ম্যাক এটিরও রয়েছে), আপনি ক্যালকুলেটরটি খুলতে পারেন, এটি প্রোগ্রামার মোডে স্যুইচ করতে পারেন, এসবিট চয়ন করতে পারেন এবং কীভাবে তারা তাদের দশমিক উপস্থাপনার সাথে সংযোগ স্থাপন করে তা দেখতে বিটসের সাথে চারপাশে খেলতে পারেন।
ভাল আপনি প্রতিনিধিত্ব করতে 2 বাইট প্রয়োজন। 256 = 00000001 00000000
আপনি ইতিমধ্যে জানেন যে 255 ডি (দশমিক) সমান 11111111 বি (বাইনারি)। আপনি যদি এখন মানটিতে 1 যুক্ত করতে চান তবে দুটি সম্ভাবনা রয়েছে:
হয় আপনার কাছে কেবল 8 টি বিট রয়েছে। এই ক্ষেত্রে, একটি তথাকথিত ওভারফ্লো ঘটে। সুতরাং "অভ্যন্তরীণভাবে", 1 টি 100000000b (9 বিটের 256 ডি) এর ফলে যুক্ত হবে। তবে আপনার কাছে কেবল 8 টি বিট উপলব্ধ তাই নিম্ন 8 টি বিট "ফেরত" হবে " সুতরাং আপনি 0 ডি = 0 বি দিয়ে শেষ করেছেন (বেশিরভাগ কম্পিউটার আর্কিটেকচারে কেবল একটি পার্শ্ব নোট হিসাবে একটি বিশেষ ওভারফ্লো পতাকা সেট করা হবে))
আপনার আঙ্গুল দিয়ে গণনা হিসাবে এটি একই চিন্তা করুন। আপনার আঙুল 9 ডি দেখান কল্পনা করুন। এবার আপনি আরও একটি আঙুল যুক্ত করুন। আপনি 10 দিয়ে শেষ করেছেন আপনি যদি আরও একটি যুক্ত করতে চান তবে আপনি কী করবেন?
অন্য সম্ভাবনাটি হ'ল আপনার কাছে 8 টিরও বেশি বিট উপলব্ধ। এই ক্ষেত্রে আপনি শুরুতে কেবল আরও একটি সংখ্যা যুক্ত করতে পারেন এবং ফলাফলটি সত্যই 100000000b = 256 ডি হবে।
একটি বাইট হ'ল ক্ষুদ্রতম "ইউনিট" একটি কম্পিউটার সিস্টেম (মেমরি সিস্টেম) সম্বোধন করতে পারে। এর অর্থ হল যে আপনি যদি কেবল একটি বিট জানতে চান তবে আপনাকে মেমোরি সিস্টেমকে একটি ঠিকানা থেকে একটি নির্দিষ্ট বাইট দিতে হবে এবং তারপরে আপনার নিজের আগ্রহের বিটের মূল্য নির্ধারণ করতে হবে।
8 টি বিট যেমন বাইট তৈরি করে তেমনিভাবে আরও বড় ডেটাটাইপ রয়েছে। 2 বাইট একটি শব্দ তৈরি করে (16 বিট), দুটি শব্দ (চার বাইট, 32 বিট) একটি দ্বি শব্দ তৈরি করে। এবং আজকাল স্ট্যান্ডার্ড bit৪ বিট আর্কিটেকচারেও bit৪ বিট ডেটাটাইপ রয়েছে (তথাকথিত রেজিস্টার)।
আপনি এটি কিছুটা শিফট অপারেশন ( বাইনারি উপস্থাপনার অন্তর্নিহিততার উপর নির্ভর করে বাম বা ডান ) দ্বারা প্রতিনিধিত্ব করতে পারেন । উদাহরণস্বরূপ, এই একটি লাইনার একটি বড় এন্ডিয়ান প্রতিনিধিত্বের জন্য কাজ করে (সবচেয়ে উল্লেখযোগ্য বাইট প্রথমে):
1 << 8
একটি স্বাক্ষরবিহীন বাইট কেবল 256 টি মান রাখতে পারে যার মধ্যে [0 - 255] এর ব্যাপ্তি রয়েছে। 256 মানটির জন্য আপনাকে এমন একটি ডেটা টাইপ ব্যবহার করতে হবে যা বৃহত্তর মান ধরে রাখতে সক্ষম হয়, উদাহরণস্বরূপ একটি পূর্ণসংখ্যা।