একটি বাইটে 8 বিট, বা 9 রয়েছে?


56

আমি এই অ্যাসেম্বলিং প্রোগ্রামিং টিউটোরিয়ালে পড়েছি যে 8 বিট ডেটার জন্য এবং 1 বিট প্যারিটির জন্য ব্যবহৃত হয় যা পরবর্তীতে ত্রুটি সনাক্ত করার জন্য ব্যবহৃত হয় (হার্ডওয়্যার ত্রুটি বা বৈদ্যুতিক ঝামেলার কারণে)

এটা কি সত্য?


5
বাইট কী হতে পারে তার আলোচনার জন্য cs.stackexchange.com/a/19851/584 দেখুন ।
এপ্রোগ্রামার

63
এই নিবন্ধটি আজেবাজে ভরা এবং আপনার এটি এড়ানো উচিত।
ডেভিড শোয়ার্টজ

12
আপনি যদি পেডেন্টিক হতে চান তবে কেবল তাদের "অক্টেটস" কল করুন। এই নিবন্ধটি হয় খুব সুনির্দিষ্ট প্রসেসরের কথা মাথায় রেখে লেখা হয়েছে (যেটি অবশ্যই কোনও কারণে রমের মধ্যে প্যারিটি বিট রাখতে হবে ...) অথবা এটি কেবল বেত্রাঘাত। মাইক্রোচিপ পিআইসি, উদাহরণস্বরূপ, 14-বিট শব্দের দৈর্ঘ্য ব্যবহার করুন। পুরো প্রোগ্রাম মেমরিটি একটি এন এক্স 14 বিট অ্যারেতে সংগঠিত।
নিক টি

13
@ নিকট: যদিও তারা একই জিনিস নয়। একটি অক্টেট সবসময় 8 বিট হয়, একটি বাইট কিছু হতে পারে।
Jörg W Mittag

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

উত্তর:


79

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

টিউটোরিয়ালটির নিম্নলিখিত বিভাগে এটি দেখতে পারেন:

Doubleword: a 4-byte (32 bit) data item

4 * 8 = 32, এটি সিস্টেমে আসলে 36 টি বিট নিতে পারে তবে আপনার উদ্দেশ্য এবং উদ্দেশ্যে এটি কেবল 32 বিট।


5
ঠিক আছে, হার্ডওয়্যার যদি ত্রুটি সনাক্তকরণ কার্যকর করে তবে এটি সম্ভবত বাইটের চেয়ে বড় মেমরির সাথে 512-বাইট সেক্টর বা এর মতো করবে ... এইভাবে আপনি অতিরিক্ত অতিরিক্ত মেমরির ওভারহেড হ্রাস করতে পারবেন। কেবল স্পষ্ট করে বলতে: ত্রুটি সংশোধন করার পরেও হার্ডওয়্যারটিতে প্রতি বাইট প্রতি 8-বিট প্লাস এবং প্রতিটি "খণ্ড" ডেটার জন্য কিছু বিট ব্যবহার করা হয়, যা সম্ভবত একক বাইটের চেয়ে অনেক বড়।
বাকুরিউ

11
নোট করুন যে সফ্টওয়্যার-দৃশ্যমান অ-8-বিট বাইট সহ এমন সিস্টেম রয়েছে। প্ল্যাটফর্মগুলিতে 8-বিট চর ছাড়া অন্য কিছু রয়েছে দেখুন ? স্ট্যাকওভারফ্লোতে প্রশ্ন।
রুসলান

3
হ্যাঁ, তারা আসলেই আছে। যদিও সেই নির্দিষ্ট লিঙ্কটি নন-8-বিট চরগুলি নিয়ে কথা বলছে। যেমনটি ছিল: বাইটটি কেবলমাত্র 'চর' সংরক্ষণের জন্য প্রদত্ত সিস্টেমের বিট সংখ্যাটি বোঝাতে ব্যবহৃত হয়েছিল, এটি ছয় বিটের চেয়ে কম ছিল। তবে আইআইআরসি এটি আইইসি -80000 নির্দিষ্টকরণে মানক করা হয়েছে যে একটি বাইট 8-বিট। আপনি মূলধারার সিস্টেমগুলি থেকে সরে যাওয়ার সাথে সাথে আপনি অবশ্যই বিজোড়তা খুঁজে পাবেন এবং মানকগুলি আইন নয়।
JustAnotherSoul

3
@ জাস্টআনথারসোল: এবং প্রতিযোগিতামূলক মান রয়েছে যা বাইটকে "কমপক্ষে ৮ বিট" বা অন্য উপায়ে সংজ্ঞায়িত করে। কয়েক দশক পরে কীভাবে মানুষের মনে বাইটের সংজ্ঞা পরিবর্তিত হয়েছিল তা দেখতে আকর্ষণীয়। আরও অনেক আর্কিটেকচারাল ভিন্ন ভিন্নতার সময়ে বাইটটি ছিল কেবল আপনার আর্কিটেকচারের সবচেয়ে ছোট ঠিকানাযোগ্য একক (উদাহরণের জন্য বিভিন্ন পিডিপি দেখুন)। এই কারণেই যে ইন্টারনেটের আবির্ভাবের সময় ওয়েক্টের শব্দটি তারের উপাত্তগুলি বর্ণনা করার জন্য ব্যবহৃত হত, কারণ বাইটটি 8 বিট ডেটার অংশের জন্য সর্বজনীন শব্দ ছিল না।
প্লাজমাএইচএইচ

2
@ জাস্টঅনথারসোল নোট করুন যে charসি-তে (যা লিঙ্কটি প্রায় তা হ'ল) ​​মেমরির একেবারে ক্ষুদ্রতম ঠিকানা ঠিকানা। এটিকে কেবল চর বলা হয় , তবে সি স্ট্যান্ডার্ড এটিকে বাইটের সমার্থক করে তোলে ।
রুসলান

48

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

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


10
সাধারণত যখন এমন একটি গ্রুপের ডেটা থাকে যা যৌক্তিকভাবে একক ইউনিট হয় তবে এতে 8 টিরও কম / বিট থাকে, তখন তাকে "শব্দ" বলা হয়। উদাহরণস্বরূপ, কিছু প্রসেসর 40-বিট নির্দেশের শব্দ ব্যবহার করে।
দেবসমান

3
+1 টি। ঘটনাক্রমে, "বিট পয়েন্টার" এবং "বাইট পয়েন্টার" উভয়েরই সাথে আর্কিটেকচার রয়েছে। যেমন আর্কিটেকচারের, একটি বাইট টেকনিক্যালি নয় "ক্ষুদ্রতম মেমরি Addressable ইউনিট" (যেহেতু আপনি প্রতিটি বিট স্বাধীনভাবে মোকাবেলার পারে), যদিও এটি কঠিন succinctly বলতে কি এটা হয় । আমি অনুমান করি এটি একটি "আমি যখন দেখি তখন এটি জানতাম" সাজানোর জিনিস। :
পি

18
"অকেট" হ'ল I'dতিহ্যগতভাবে ব্যবহৃত শব্দটির অর্থ "আমি এটিকে বাইট বলি, তবে আমি সত্যিকার অর্থে 8 বিট" বোঝাতে পারি সিস্টেমগুলির মধ্যে বিভিন্ন বাইট আকারের বিভিন্ন যোগাযোগ প্রোটোকলের জন্য। কিন্তু এই দিনগুলিতে 8 টি বিট ব্যতীত অন্য কোনও কিছু বোঝার জন্য বাইট ব্যবহার করা অ্যানক্রোনস্টিক।
wnoise

@ ডেভসম্যান অগত্যা নয়। x86 চিপগুলিতে 32 বিট শব্দ এবং 8 বিট বাইট রয়েছে, উদাহরণস্বরূপ। একটি বাইট হ'ল ছোটতম ঠিকানাযোগ্য আকার। শব্দটি কিছুটা অস্পষ্টভাবে সংজ্ঞায়িত, তবে এটি এমন আকার হতে পারে যা কাজ করা সবচেয়ে সুবিধাজনক; অর্থাত্ বেশিরভাগ নির্দেশনার প্রত্যাশিত অপারেন্ড দৈর্ঘ্য।
রায়

এটি সঠিক উত্তর হিসাবে চিহ্নিত করা উচিত, এটি আরও সঠিক।
awiebe

32

এই পাঠ্যটি অত্যন্ত খারাপ শব্দযুক্ত। তিনি প্রায় অবশ্যই ইসিসি (ত্রুটি-সংশোধনকারী কোড) র্যাম সম্পর্কে কথা বলছেন ।

ইসিসি র‌্যাম সাধারণত 9-বিট ব্যবহার করে 8-বিট মূল্যবান তথ্য সঞ্চয় করবে। অতিরিক্ত বিট-প্রতি-বাইট ত্রুটি সংশোধন কোডগুলি সঞ্চয় করতে ব্যবহৃত হয়।

ইসিসি বনাম নন-ইসিসি (উভয় ক্ষেত্রেই, প্রতিটি বাইট প্রতিটি চিপ জুড়ে ছড়িয়ে পড়ে Pu প্যাগেট সিস্টেমের চিত্র সৌজন্যে )

এটি হার্ডওয়ারের ব্যবহারকারীদের কাছে সম্পূর্ণ অদৃশ্য। উভয় ক্ষেত্রেই, এই র‌্যাম ব্যবহার করে সফটওয়্যার বাইট প্রতি 8 বিট দেখতে পাবে।


একদিকে যেমন: র‌্যামে ত্রুটি-শোধকারী কোডগুলি সাধারণত বাইট প্রতি 1 বিট হয় না; তারা পরিবর্তে 8 বিট প্রতি 8 বিট হয়। এটিতে একই জায়গার ওভারহেড রয়েছে তবে এর কিছু অতিরিক্ত সুবিধা রয়েছে। আরও তথ্যের জন্য SECDED দেখুন ।


12
প্যারিটি র‌্যাম এবং ইসিসি র‌্যাম আলাদা জিনিস। প্যারিটি র‌্যাম ত্রুটি ডোমেন প্রতি এক অতিরিক্ত বিট সঞ্চয় করে, সমস্ত সিঙ্গল-বিট ত্রুটি সনাক্ত করতে পারে এবং ডাবল-বিট ত্রুটিগুলি সনাক্ত করতে পারে এবং কিছুই ঠিক করতে পারে না। ইসিসি ত্রুটি ডোমেন প্রতি অতিরিক্ত কয়েকটি বিট সংরক্ষণ করে, সমস্ত সিঙ্গল-বিট ত্রুটি সনাক্ত করতে এবং ঠিক করতে পারে, সনাক্ত করতে পারে তবে সমস্ত ডাবল-বিট ত্রুটিগুলি ঠিক করতে পারে না এবং আরও কিছু বড় ত্রুটি ধরতে পারে। প্যারিটি র‌্যাম এই দিনগুলিতে বিরল, প্রায় পুরোপুরি ইসিসি র‌্যাম দ্বারা প্রতিস্থাপিত হয়েছে।
চিহ্নিত করুন

1
@ মার্ক: আমি আমার শেষ অনুচ্ছেদে ইঙ্গিত দিয়েছি, লিঙ্কে আরও বিশদ রয়েছে। প্যারিটি র‌্যাম এই দিনগুলিতে মূলত অস্তিত্বহীন কারণ একটি (,২,64)) ত্রুটি-সংশোধন কোডের (9,8) প্যারিটি কোডের মতোই ওভারহেড রয়েছে।
ব্লুরাজা - ড্যানি প্লেফুঘুফুট

7
আপনি এতে ইঙ্গিত করার সময়, আপনি এমন জিনিসও বর্ণনা করেন যা এটিকে নষ্ট / বিভ্রান্ত করে তোলে। ইসিসি র‌্যাম "9-বিটগুলি ব্যবহার করে 8-বিট মূল্যবান তথ্য" সঞ্চয় করে না। এটি উল্লেখ করে যে আপনি 9 বিট ব্যবহার করে 8 বিটের জন্য ইসিসি করতে পারেন, যা সম্ভব নয়। 8 বিট বিচ্ছিন্ন তথ্যের জন্য 1 অতিরিক্ত বিট সনাক্ত করার জন্য যথেষ্ট , সঠিক নয়, একক বিট ত্রুটি। ইসিসিগুলি সাধারণত একটি একক বাইটের চেয়ে বড় ডেটার গ্রুপগুলির ত্রুটিগুলি সংশোধন করতে পর্যাপ্ত ডেটা ধারণ করতে বিট বা বাইটের বেশি সংখ্যক ব্যবহার করে। এই পারে যদিও গড় 8 বিট প্রতি একটি অতিরিক্ত বিট প্রতিটি 8 বিটের সাথে মাত্র 1 বিট যুক্ত করা থেকে ভেঙ্গে যাবে না।
মাকেন

এখানে একটি 36-বিট স্কিম রয়েছে (32 বিট শব্দ + 4 বিট ইসিসি) যা একক বিট ত্রুটি সংশোধন এবং দুটি বিট ত্রুটি সনাক্তকরণের অনুমতি দেয়। আপনি গাণিতিকভাবে এটি 8 টি ডেটা বিট + 1 ইসি বিট বিভক্ত করতে পারেন, এটি সেভাবে কাজ করে না / করতে পারে না। ইসিসির পূর্ণ 4 টি বিট প্রয়োজন, যা 32 ডেটা বিটকে কভার করে।
জেনিলোগিক্স

@ জেনিলোগিক্স এবং অন্যান্যরা যারা একই জিনিসটির পুনরাবৃত্তি করেছিলেন: ইসিসি কীভাবে কাজ করে তা আমি খুব ভাল করে বুঝতে পারি এবং আমি যা বলেছিলাম কিছুই ভুল ছিল না। আমি কখনই দাবি করি না যে 8 বিট ইসিসি 9 বিট দিয়ে করা যায়, আমি বলেছিলাম ইসিসি র‌্যাম স্টোরেজটিতে 9-বিট-বিট-বাইট ব্যবহার করে। ইসিসি কীভাবে কাজ করে তা এই প্রশ্নের পুরোপুরি সুযোগের বাইরে নয়, এ কারণেই আমি কোনও লিঙ্কের সাথে বিশদটি আলাদা রেখে রেখেছি। পেডেন্টিক সমস্ত মন্তব্য বন্ধ করুন।
ব্লুরাজা - ড্যানি প্লেফুঘুফুট

16

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

আরও সুনির্দিষ্টভাবে, একটি বাইট প্রদত্ত আর্কিটেকচারের জন্য ক্ষুদ্রতম ঠিকানাযোগ্য মেমরি ইউনিট এবং সাধারণত কোনও একক পাঠ্য অক্ষর ধারণ করার পক্ষে এটি যথেষ্ট বড় hold বেশিরভাগ আধুনিক স্থাপত্যগুলিতে, একটি বাইটকে 8 বিট হিসাবে সংজ্ঞায়িত করা হয়; আইএসও / আইইসি 80000-13 এছাড়াও উল্লেখ করে যে একটি বাইট 8 বিট, যেমন জনপ্রিয় sensকমত্য (যেমন আপনি যদি কথা বলছেন, 9-বিট বাইট, আপনি স্পষ্টভাবে না বললে আপনি অনেক সমস্যার মধ্যে চলে যাবেন আপনি সাধারণ বাইট বোঝাতে চান না তা উল্লেখ করুন)।

তবে, এই নিয়মের ব্যতিক্রম আছে। উদাহরণ স্বরূপ:

সুতরাং, বেশিরভাগ ক্ষেত্রে, একটি বাইট সাধারণত 8 বিট হবে। যদি তা না হয় তবে এটি সম্ভবত 9 টি বিট এবং 36-বিট শব্দের অংশ হতে পারে বা নাও হতে পারে।


8

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

8 বিট (সাধারণত 16 বা 32) এর চেয়ে বড় সংখ্যক সম্বোধনযোগ্য ইউনিট সহ কম্পিউটার রয়েছে তবে সেই ইউনিটগুলিকে সাধারণত মেশিন শব্দ বলা হয়, বাইট নয়। উদাহরণস্বরূপ, 32K 32-বিট র‌্যাম শব্দের সহ একটি ডিএসপি 128 কেবি বা র‌্যাম, 32 কেবি নয়, হিসাবে বিজ্ঞাপন দেওয়া হবে।

যোগাযোগের মানগুলির ক্ষেত্রে জিনিসগুলি এতটা সংজ্ঞায়িত হয় না। এএসসিআইআই এখনও বহুল ব্যবহৃত হয় এবং এতে 7-বিট বাইট রয়েছে (যা কম্পিউটারে 8-বিট বাইটে দুর্দান্তভাবে ফিট করে)। ইউআরটি ট্রান্সসিভারগুলি এখনও কনফিগারযোগ্য বাইট আকারের জন্য উত্পাদিত হয় (সাধারণত, আপনি কম বাইটে কমপক্ষে 6, 7 এবং 8 বিট বেছে নিতে পারেন, তবে 5 এবং 9 শুনা যায় না)।


6

একটি বাইট সাধারণত মেমরি স্পেসের স্বল্পতম স্বতন্ত্র ঠিকানাযুক্ত একক হিসাবে সংজ্ঞায়িত হয়। এটি যে কোনও আকার হতে পারে। 6 থেকে 9 বিটের মধ্যে কোথাও বাইট আকারের আর্কিটেকচার রয়েছে, সম্ভবত এটি আরও বড়। এমন একটি আর্কিটেকচার রয়েছে যেখানে একমাত্র ঠিকানাযোগ্য ইউনিটটি বাসের আকার, এই জাতীয় স্থাপত্যগুলিতে আমরা হয় বলতে পারি যে তাদের কেবল বাইট নেই , বা বাইটটি শব্দের সমান আকার (একটি বিশেষ ক্ষেত্রে আমি জানি যে এটি হবে be 32 বিট); যেভাবেই হোক, এটি অবশ্যই 8 বিট নয়। তেমনিভাবে, বিট-সম্বোধনযোগ্য আর্কিটেকচার রয়েছে, সেই আর্কিটেকচারগুলিতে, আমরা আবারও তর্ক করতে পারি যে বাইটগুলি কেবল অস্তিত্বহীন, বা আমরা তর্ক করতে পারি যে বাইটগুলি 1 বিট; উভয় উপায়ে একটি বুদ্ধিমান সংজ্ঞা, তবে 8 বিট অবশ্যই ভুল।

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

আপনি যদি সত্যিই চাপ দিতে চান যে আপনি স্মৃতিতে ক্ষুদ্রতম ঠিকানাযোগ্য পরিমাণের চেয়ে 8 বিটের সঠিক পরিমাণের কথা বলছেন, তবে এটি বৃহত্তর হতে পারে তবে আপনি অক্টেট শব্দটি ব্যবহার করতে পারেন , উদাহরণস্বরূপ এটি অনেকগুলি নতুন আরএফসিতে ব্যবহৃত হয়।


2
স্ট্যান্ডার্ড সি এবং সি ++ এর একটি পূর্বনির্ধারিত ম্যাক্রো রয়েছে CHAR_BIT(পাওয়া গেছে limits.h), আমি অবগত নইBITS_PER_BYTE
njuffa

3

১৯ 19০ সালে যখন আমি প্রোগ্রামিং শুরু করি, তখন আমাদের কাছে bit বিট বাইট সহ ৪৮ বিট শব্দ ছিল - তারা সে নামটি তখন জানতেন না, তাদের চরিত্র বলা হত। তারপরে আমি 75 বিট শব্দ এবং 15 বিট বাইট সহ গোলেম কম্পিউটারে কাজ করেছি। পরে, bit বিট বাইটগুলি আদর্শ ছিল, যতক্ষণ না আইবিএম ৩M০ নিয়ে আসে, এবং আজকাল একটি বাইট সাধারণত একটি অক্টেটের সমান, অর্থাৎ 8 বিটের ডেটা। কিছু হার্ডওয়্যারের ত্রুটি সনাক্তকরণ এবং সম্ভবত ত্রুটি সংশোধনের জন্য অতিরিক্ত বিট ছিল, তবে এগুলি সফ্টওয়্যার দ্বারা অ্যাক্সেসযোগ্য ছিল না।


3

একটি বাইট 8 বিট হয়।

সুদূর অতীতে, একটি মেমরি শব্দের এবং বাইটের বিভিন্ন সংজ্ঞা ছিল। আজকের জীবনে এই অস্পষ্টতা বিস্তৃত বা প্রচলিত যে পরামর্শটি মিথ্যা।

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

বাইট শব্দের অস্পষ্টতা নিজেই একটি বিরল এবং অস্পষ্ট জিনিস। গত ৩০ বছরে বা আরও বেশি প্রোগ্রামার, ডিজাইন ইঞ্জিনিয়ার, পরীক্ষার প্রকৌশলী, বিক্রয়কর্মী, পরিষেবা প্রকৌশলী বা গড় পেন্টারদের জনসংখ্যার খুব কম লোক মনে করে যে এটি যদি এই শব্দটি স্বীকৃতি দেয় তবে এটি একটি 8-বিট মান ব্যতীত অন্য কিছু বোঝায় ।

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


2

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

বাইট হ'ল যে কোনও বিটই তার সিদ্ধান্ত নেওয়া উচিত। এটি 8 বিট, বা 9 বিট, বা 16 বিট, যে কোনও কিছু হতে পারে। ২০১ In সালে, বেশিরভাগ ক্ষেত্রে একটি বাইট আট বিট হবে। নিরাপদ থাকতে আপনি অষ্টেট শব্দটি ব্যবহার করতে পারেন - একটি অক্টেট সর্বদা, সর্বদা, আট বিট is

এখানে আসল বিভ্রান্তি দুটি প্রশ্নকে বিভ্রান্ত করছে: ১. বাইটে বিটের সংখ্যা কত? ২. আমি যদি একটি বাইটকে এক জায়গা থেকে অন্য জায়গায় স্থানান্তর করতে চাইতাম, বা আমি যদি ব্যবহারিক শারীরিক উপায় ব্যবহার করে কোনও বাইট সঞ্চয় করতে চাই, তবে আমি কীভাবে এটি করব? দ্বিতীয় প্রশ্নটি সাধারণত আপনার আগ্রহের বিষয় না, যদি না আপনি মডেম তৈরির কোনও সংস্থায়, বা হার্ড ড্রাইভগুলি বা এসএসডি ড্রাইভ তৈরি না করেন। অনুশীলনে আপনি প্রথম প্রশ্নে আগ্রহী, এবং দ্বিতীয়টির জন্য আপনি কেবল "ভাল, কেউ তার দেখাশোনা করেন" বলেছিলেন।

যে প্যারিটি বিটটি উল্লেখ করা হয়েছিল তা হ'ল একটি আদিম প্রক্রিয়া যা এটি সনাক্ত করতে সহায়তা করে যে কোনও বাইট যখন মেমরিতে সংরক্ষণ করা হয়, এবং পরে বাইটটি পড়ে, স্মৃতিটি কিছু দুর্ঘটনার দ্বারা পরিবর্তিত হয়। এটি এতে খুব ভাল নয়, কারণ এটি খুঁজে পাবেন না যে দুটি বিট পরিবর্তিত হয়েছে সুতরাং একটি পরিবর্তন অনির্দিষ্টকেন্দ্রিকভাবে চলে যাওয়ার সম্ভাবনা রয়েছে, এবং এটি সমস্যা থেকে পুনরুদ্ধার করতে পারে না কারণ 8 টি বিটের মধ্যে কোনটি পরিবর্তন হয়েছে তা আবিষ্কার করার উপায় নেই , বা প্যারিটি বিট পরিবর্তন হলেও।

প্যারিটি বিটগুলি ব্যবহারিকভাবে সেই আদিম আকারে ব্যবহার হয় না। স্থায়ীভাবে সংরক্ষণ করা ডেটা সাধারণত আরও জটিল উপায়ে সুরক্ষিত থাকে, উদাহরণস্বরূপ 1024 বাইটের একটি ব্লকে 32 বিট বা দীর্ঘ চেকসাম যুক্ত করে - যা অতিরিক্ত কম জায়গা নেয় (12.5% ​​এর পরিবর্তে এই উদাহরণে 0.4%) এবং অনেক বেশি কিছু ভুল হলে তা খুঁজে পাওয়ার সম্ভাবনা কম।


সত্যই পুরানো: 16 মোড "অনুচ্ছেদ" মেমরির অর্থবহ একক হিসাবে বাস্তব মোড এবং বিভাগযুক্ত ঠিকানা থেকে স্যুইচ করা হয়নি।
চিহ্নিত করুন

ব্যক্তিগতভাবে, আমি "উইনপিআই" ধরে নেব যখন কেউ 2-বাইট সম্পর্কে কথা বলে WORD, যা ... কিন্ডা আপনার বক্তব্য প্রমাণ করে, যেহেতু উইনাপি টাইপের অনেকগুলি নাম পুরানো তবে পিছনের দিকে সামঞ্জস্যের জন্য রাখা হয় kept xP
জাস্টিন সময়

1

এখানে দেওয়া সত্যিই দুর্দান্ত উত্তর থাকা সত্ত্বেও আমি অবাক হয়ে গিয়েছি যে কেউই উল্লেখ করেন নি যে প্যারিটি বিট বা ত্রুটি সংশোধন বিটগুলি সংজ্ঞা 'মেটাডেটা' দ্বারা হয় এবং তাই বাইটের নিজেই অংশ নয়।

একটি বাইটে 8 টি বিট রয়েছে !


0

আধুনিক ব্যবহারে, একটি বাইট 8 বিট, সময়কাল (যদিও এটির otherতিহাসিকভাবে অন্যান্য সংজ্ঞা ছিল)। অন্যদিকে, একটি ডাটা শব্দ হ'ল পারমাণবিক ইউনিট হিসাবে প্রশ্নে থাকা হার্ডওয়্যার - যা 8 বিট, 9 বিট, 10 বিট, 12 বিট, 16 বিট, 20 বিট, 24 বিট, 32 বিট ইত্যাদি হতে পারে কয়েক বছর ধরে সিস্টেমগুলিতে বিভিন্ন ধরণের শব্দের আকার রয়েছে।

একটি মেমরি সিস্টেম বা সংক্রমণ প্রোটোকল বাস্তবায়নের জন্য, ত্রুটি সনাক্তকরণ / সংশোধন যুক্ত করা অতিরিক্ত উপকারী যা এটি উপকারী। তারা 9-বিট বাইট তৈরি করে না কারণ উপরে বর্ণিত হিসাবে, বাইটটি 8 বিট হয়।

বিভিন্ন স্কিম বিভিন্নভাবে ত্রুটি সনাক্তকরণ এবং / বা সংশোধন যোগ করে।

প্যারিটির সাধারণ ব্যবহার হ'ল সংক্রমণ শব্দের একটি অতিরিক্ত বিট যুক্ত করা যাতে প্রেরণকারী একক বিট ত্রুটি সনাক্ত করতে পারে।

একক-বিট ত্রুটি সংশোধন সরবরাহ করতে পারে এমন একটি স্কিমের মধ্যে 32 বিট ডেটা শব্দের প্রতি 4 ইসিসি বিট যুক্ত হওয়া জড়িত। এটি গাণিতিকভাবে প্রতি বাইট 1 বিটের সমান হতে পারে, তবে এটি সেভাবে কাজ করে না / করতে পারে না। ৩ 36-বিট ডেটা স্পেসের জন্য একটি বিট ত্রুটি থেকে পুনরুদ্ধার করতে একটি 36-বিট ডেটা শব্দ যথেষ্ট পরিমাণে তথ্য বহন করতে পারে।


0

8 বিট। সিপু এবং কীবোর্ডের ভিতরে এটি 9 এবং 11 বিট হয়। যদিও ব্যবহারকারী ডেটা 8 বিট উপস্থাপন করা হয়। কীবোর্ডের কীগুলি গানগুলি প্রেরণ করে যা 11 টি বিটে বিভক্ত। 1 প্রারম্ভিক বিট, 1 সমাপ্তি বিট, 1 প্যারিটি বিট এবং 8 টি বিট যা কী টিপে প্রতিনিধিত্ব করে।


2
এটি কি প্রশ্নের উত্তর দেয়? আপনি কি সিপিইউতে বাইট এবং কীবোর্ডে বাইটের জন্য বিভিন্ন দৈর্ঘ্য বলতে চান? "গাওয়া" কি "স্ট্রিং" বা "স্ট্রিম" হওয়া উচিত?
এপাস.জ্যাক

মনে হচ্ছে আপনি প্রকৃত ডেটা নয়, ফ্রেমিং ডেটা সহ একটি তারের প্রোটোকলের কথা বলছেন।
পিটার কর্ডেস

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