Endianness
কম্পিউটিংয়ে, এন্ডিয়াননেস হল কম্পিউটার মেমরি বা ডেটা যোগাযোগে ডিজিটাল ডেটার একটি শব্দের বাইটের ক্রম বা ক্রম যা "প্রথম" বাইটের প্রভাব বর্ণনা করে চিহ্নিত করা হয়, যার অর্থ ক্ষুদ্রতম ঠিকানায় বা প্রথমে পাঠানো হয়। এন্ডিয়াননেস প্রাথমিকভাবে বিগ-এন্ডিয়ান (বিই) বা লিটল-এন্ডিয়ান (এলই) হিসাবে প্রকাশ করা হয়। একটি বিগ-এন্ডিয়ান সিস্টেম একটি শব্দের সবচেয়ে গুরুত্বপূর্ণ বাইটকে সবচেয়ে ছোট মেমরি ঠিকানায় এবং সবচেয়ে বড়টিতে সবচেয়ে কম উল্লেখযোগ্য বাইটকে সংরক্ষণ করে। একটি লিটল-এন্ডিয়ান সিস্টেম, বিপরীতে, সবচেয়ে ছোট ঠিকানায় সবচেয়ে কম গুরুত্বপূর্ণ বাইট সংরক্ষণ করে। বাই-এন্ডিয়াননেস হল এমন একটি বৈশিষ্ট্য যা অসংখ্য কম্পিউটার আর্কিটেকচার দ্বারা সমর্থিত যা ডেটা আনয়ন এবং দোকানগুলিতে বা নির্দেশ আনয়নগুলির জন্য পরিবর্তনযোগ্য এন্ডিয়াননেস বৈশিষ্ট্যযুক্ত। অন্যান্য অর্ডারিংকে সাধারণত মিডল-এন্ডিয়ান বা মিক্সড-এন্ডিয়ান বলা হয়। একটি যোগাযোগ চ্যানেলের মাধ্যমে বিটগুলি যে ক্রমে প্রেরণ করা হয় তা বর্ণনা করতেও এন্ডিয়াননেস ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, একটি যোগাযোগ চ্যানেলের বিগ-এন্ডিয়ান প্রথমে সবচেয়ে গুরুত্বপূর্ণ বিটগুলি প্রেরণ করে। বিট-এন্ডিয়াননেস অন্যান্য প্রসঙ্গে খুব কমই ব্যবহৃত হয়। ব্যুৎপত্তি ড্যানি কোহেন 1980 সালে প্রকাশিত একটি ইন্টারনেট এক্সপেরিমেন্ট নোটে ডেটা অর্ডারের জন্য কম্পিউটার বিজ্ঞানে বিগ-এন্ডিয়ান এবং লিটল-এন্ডিয়ান শব্দগুলি প্রবর্তন করেছিলেন। অষ্টাদশ শতাব্দীর অ্যাংলো-আইরিশ লেখক জোনাথন সুইফটের লেখায় এন্ডিয়ান বিশেষণটির উৎপত্তি হয়েছে। 1726 সালের উপন্যাস 'গালিভার্স ট্র্যাভেলস'-এ তিনি লিলিপুটিয়ানদের সম্প্রদায়ের মধ্যে দ্বন্দ্বকে চিত্রিত করেছেন যারা বড় প্রান্ত থেকে বা ছোট প্রান্ত থেকে সিদ্ধ ডিমের খোসা ভেঙে দেয়। ছোটবেলায়, সম্রাটের দাদা, যার সঙ্গে গালিভারের দেখা হয়েছিল, বড় প্রান্ত থেকে ডিম খোলার সময় তাঁর আঙুল কেটে দিয়েছিলেন। সেই সময়ে ছেলেটির বাবা এবং সম্রাট একটি রাজকীয় আদেশনামা প্রকাশ করেছিলেন যাতে তাঁর সমস্ত প্রজাদের ছোট প্রান্ত থেকে ডিম ভাঙার নির্দেশ দেওয়া হয়েছিল। জনগণ এই পরিবর্তনের প্রতি বিরক্তি প্রকাশ করে, যার ফলে "বিগ-ইন্ডিয়ানদের" ছয়টি বিদ্রোহ শুরু হয়। সুইফট এই কাজে লিটল-ইন্ডিয়ান শব্দটি ব্যবহার করেননি। কোহেন তাঁর 1980 সালের নোটের পরিশিষ্টে গালিভার্স ট্র্যাভেলসের সাথে সংযোগটি স্পষ্ট করেছেন। নাম এবং কখনও কখনও একই ধারণার জন্য ব্যবহার করা হয়েছে। সংক্ষিপ্ত বিবরণ কম্পিউটারগুলি বাইনারি বিটের বিভিন্ন আকারের গোষ্ঠীতে তথ্য সঞ্চয় করে। প্রতিটি গোষ্ঠীকে একটি নম্বর বরাদ্দ করা হয়, যাকে তার ঠিকানা বলা হয়, যা কম্পিউটার সেই তথ্য অ্যাক্সেস করতে ব্যবহার করে। বেশিরভাগ আধুনিক কম্পিউটারে, একটি ঠিকানা সহ ক্ষুদ্রতম ডেটা গ্রুপটি আট বিট দীর্ঘ এবং এটিকে বাইট বলা হয়। বড় গ্রুপে দুই বা ততোধিক বাইট্স থাকে, উদাহরণস্বরূপ, একটি 32-বিট শব্দের চারটি বাইট্স থাকে। দুটি সম্ভাব্য উপায় রয়েছে যার মাধ্যমে একটি কম্পিউটার উভয় প্রান্ত থেকে শুরু করে একটি বৃহত্তর গোষ্ঠীতে পৃথক বাইটে সংখ্যা দিতে পারে। ডিজিটাল ইলেকট্রনিক ইঞ্জিনিয়ারিং-এ উভয় ধরনের এনডিয়াননেস ব্যাপকভাবে ব্যবহৃত হয়। একটি নতুন নকশার এন্ডিয়াননেসের প্রাথমিক পছন্দ প্রায়শই নির্বিচারে হয়, তবে পরবর্তী প্রযুক্তি সংশোধন এবং আপডেটগুলি পশ্চাদগামী সামঞ্জস্য বজায় রাখতে বিদ্যমান এন্ডিয়াননেসকে স্থায়ী করে। অভ্যন্তরীণভাবে, যে কোনও প্রদত্ত কম্পিউটার এটি যে কোনও এনডিয়াননেস ব্যবহার করে তা নির্বিশেষে সমানভাবে ভাল কাজ করবে কারণ এর হার্ডওয়্যার ধারাবাহিকভাবে তার ডেটা সঞ্চয় এবং লোড উভয় ক্ষেত্রেই একই এনডিয়াননেস ব্যবহার করবে। এই কারণে, প্রোগ্রামার এবং কম্পিউটার ব্যবহারকারীরা সাধারণত যে কম্পিউটারের সাথে কাজ করছেন তার নিবিড়তা উপেক্ষা করেন। যাইহোক, কম্পিউটারে বাহ্যিক ডেটা স্থানান্তর করার সময় এন্ডিয়াননেস একটি সমস্যা হয়ে উঠতে পারে-যেমন বিভিন্ন কম্পিউটারের মধ্যে ডেটা প্রেরণ করার সময়, বা কোনও প্রোগ্রামার মেমরি ডাম্প থেকে ডেটা অভ্যন্তরীণ কম্পিউটার বাইটগুলি তদন্ত করার সময়-এবং ব্যবহৃত এন্ডিয়াননেস প্রত্যাশার থেকে আলাদা। এই ক্ষেত্রে, তথ্যের সীমাবদ্ধতাকে অবশ্যই বুঝতে হবে এবং হিসাব করতে হবে। এই দুটি চিত্র দেখায় যে কীভাবে দুটি কম্পিউটার বিভিন্ন এন্ডিয়াননেস ব্যবহার করে একটি 32-বিট (চার বাইট) পূর্ণসংখ্যা এর মান সহ সঞ্চয় করে। উভয় ক্ষেত্রেই, পূর্ণসংখ্যাটি চারটি বাইটে বিভক্ত করা হয়,,, এবং, এবং বাইটসগুলি স্মৃতিতে চারটি ক্রমিক বাইটে সংরক্ষণ করা হয়, যা মেমরির অবস্থান থেকে শুরু করে ঠিকানা a, তারপর a + 1, a + 2, এবং a + 3 দিয়ে শুরু হয়। বড় এবং ছোট-এন্ডিয়ানের মধ্যে পার্থক্য হল সঞ্চিত পূর্ণসংখ্যার চারটি বাইটের ক্রম। প্রথম রেখাচিত্রটি লিটল-এন্ডিয়ান ব্যবহার করে একটি কম্পিউটার দেখায়। এটি a ঠিকানায় সর্বনিম্ন-গুরুত্বপূর্ণ বাইট দিয়ে পূর্ণসংখ্যার সংরক্ষণ শুরু করে এবং a + 3 ঠিকানায় সবচেয়ে-গুরুত্বপূর্ণ বাইট দিয়ে শেষ হয়। দ্বিতীয় চিত্রটি বিগ-এন্ডিয়ান ব্যবহার করে একটি কম্পিউটার দেখায়। এটি a ঠিকানায় সবচেয়ে গুরুত্বপূর্ণ বাইট দিয়ে পূর্ণসংখ্যার সংরক্ষণ শুরু করে এবং a + 3 ঠিকানায় সবচেয়ে কম গুরুত্বপূর্ণ বাইট দিয়ে শেষ হয়। যেহেতু প্রতিটি কম্পিউটার পূর্ণসংখ্যা সংরক্ষণ এবং পুনরুদ্ধার উভয় ক্ষেত্রেই তার একই প্রান্তিকতা ব্যবহার করে, তাই উভয় কম্পিউটারের জন্য ফলাফল একই হবে। সমস্যা দেখা দিতে পারে যখন মেমোরি পূর্ণসংখ্যার পরিবর্তে বাইট দ্বারা সম্বোধন করা হয়, অথবা যখন মেমরি সামগ্রীগুলি বিভিন্ন প্রান্তিকতা সহ কম্পিউটারের মধ্যে প্রেরণ করা হয়। নেটওয়ার্কিং প্রোটোকলগুলিতে বিগ-এন্ডিয়াননেস হল প্রভাবশালী ক্রম, যেমন ইন্টারনেট প্রোটোকল স্যুট, যেখানে এটিকে নেটওয়ার্ক অর্ডার হিসাবে উল্লেখ করা হয়, যা প্রথমে সবচেয়ে গুরুত্বপূর্ণ বাইট প্রেরণ করে। বিপরীতভাবে, প্রসেসর আর্কিটেকচার (x86, বেশিরভাগ এআরএম বাস্তবায়ন, বেস আরআইএসসি-ভি বাস্তবায়ন) এবং তাদের সম্পর্কিত মেমরির জন্য সামান্য-এন্ডিয়াননেস হল প্রভাবশালী ক্রম। ফাইল ফরম্যাটগুলি অর্ডারিং ব্যবহার করতে পারে; কিছু ফরম্যাট উভয়ের মিশ্রণ ব্যবহার করে বা একটি সূচক ধারণ করে যা ফাইল জুড়ে অর্ডারিং ব্যবহার করা হয়। বড় এবং ছোট-এন্ডিয়ান শৈলীগুলি যে কোনও উপস্থাপনার ক্রমকে চিহ্নিত করতে আরও সাধারণভাবে ব্যবহার করা যেতে পারে, যেমন। একটি সংখ্যা পদ্ধতিতে সংখ্যা বা একটি তারিখের বিভাগ। অবস্থানগত স্বরলিপিতে সংখ্যাগুলি সাধারণত বাম থেকে ডানদিকে বড়-প্রান্তীয় ক্রমে, এমনকি ডান থেকে বাম লিপিতেও লেখা হয়। একইভাবে, প্রোগ্রামিং ভাষাগুলি সংখ্যাসূচক অক্ষরের জন্য বড়-প্রান্তীয় অঙ্কের ক্রম ব্যবহার করে। মৌলিক বিষয় কম্পিউটার মেমোরি স্টোরেজ সেলের একটি ক্রম নিয়ে গঠিত (ক্ষুদ্রতম অ্যাড্রেসেবল ইউনিট); যে মেশিনগুলি বাইট অ্যাড্রেসিং সমর্থন করে, সেই ইউনিটগুলিকে বাইট বলা হয়। প্রতিটি বাইট তার মেমরি ঠিকানা দ্বারা হার্ডওয়্যার এবং সফ্টওয়্যারে চিহ্নিত এবং অ্যাক্সেস করা হয়। স্মৃতিতে মোট বাইটের সংখ্যা যদি n হয়, তবে ঠিকানাগুলি 0 থেকে n−1 পর্যন্ত গণনা করা হয়। কম্পিউটার প্রোগ্রামগুলি প্রায়শই ডেটা স্ট্রাকচার বা ক্ষেত্রগুলি ব্যবহার করে যা একটি বাইটে সংরক্ষণ করা যেতে পারে তার চেয়ে বেশি ডেটা ধারণ করতে পারে। এই নিবন্ধের প্রসঙ্গে যেখানে এর ধরণটি নির্বিচারে জটিল হতে পারে না, একটি "ক্ষেত্র" ধারাবাহিকভাবে বাইটের ক্রম নিয়ে গঠিত এবং একটি "সহজ ডেটা মান" উপস্থাপন করে যা-অন্তত সম্ভাব্য-একটি একক হার্ডওয়্যার নির্দেশ দ্বারা পরিচালিত হতে পারে। বেশিরভাগ সিস্টেমে, একটি মাল্টি-বাইট সহজ ডেটা মানের ঠিকানা হল তার প্রথম বাইটের ঠিকানা (সর্বনিম্ন ঠিকানা সহ বাইট)। একটি "ক্ষেত্র"-এর অংশ হওয়ার আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল এর "তাৎপর্য"। একটি ক্ষেত্রের অংশগুলির এই বৈশিষ্ট্যগুলি কম্পিউটার হার্ডওয়্যার দ্বারা বাইটগুলি যে ক্রমে অ্যাক্সেস করা হয় তাতে আরও সুনির্দিষ্টভাবে গুরুত্বপূর্ণ ভূমিকা পালন করেঃ নিম্ন-স্তরের অ্যালগরিদমগুলি কম্পিউটার নির্দেশের ফলাফলগুলিতে অবদান রাখে। অবস্থানগত সংখ্যা পদ্ধতি (বেশিরভাগ বেস 2, বা কম প্রায়শই বেস 10) কম্পিউটার দ্বারা পূর্ণসংখ্যার ডেটা উপস্থাপন এবং বিশেষত ম্যানিপুলেট করার প্রধান উপায়। বিশুদ্ধ আকারে এটি মাঝারি আকারের অ-ঋণাত্মক পূর্ণসংখ্যার জন্য বৈধ, যেমন। সি ডেটা টাইপ স্বাক্ষরহীন। এই ধরনের সংখ্যা পদ্ধতিতে, একটি অঙ্কের মান যা এটি পুরো সংখ্যায় অবদান রাখে তা কেবল একক সংখ্যা হিসাবে তার মান দ্বারা নির্ধারিত হয় না, বরং সম্পূর্ণ সংখ্যায় এটি যে অবস্থান ধারণ করে তার দ্বারাও নির্ধারিত হয়, যাকে তার তাৎপর্য বলা হয়। এই অবস্থানগুলি মূলত দুটি উপায়ে স্মৃতিতে ম্যাপ করা যেতে পারেঃ মেমরি অ্যাড্রেস (বা সময় বৃদ্ধি) বৃদ্ধির সাথে সংখ্যাসূচক তাৎপর্য হ্রাস করা, যা বিগ-এন্ডিয়ান নামে পরিচিত এবং মেমরি অ্যাড্রেস (বা সময় বৃদ্ধি) বৃদ্ধির সাথে সংখ্যাসূচক তাৎপর্য বৃদ্ধি করা, যা লিটল-এন্ডিয়ান নামে পরিচিত। কম্পিউটার হার্ডওয়্যার দ্বারা সরাসরি সমর্থিত পূর্ণসংখ্যার তথ্যের একটি নির্দিষ্ট প্রস্থ 2 এর কম শক্তি থাকে, যেমন। 8 বিট, 1 বিট, 16 বিট, 2 বিট, 32 বিট, 4 বিট, 64 বিট, 8 বিট, 128 বিট, 16 বিট। এই ধরনের ক্ষেত্রের বাইটে নিম্ন-স্তরের প্রবেশাধিকার ক্রমটি সঞ্চালিত হওয়ার ক্রিয়াকলাপের উপর নির্ভর করে। যোগ, বিয়োগ এবং গুণনের জন্য সর্বনিম্ন-গুরুত্বপূর্ণ বাইটটি প্রথমে অ্যাক্সেস করা হয়। বিভাজন এবং তুলনার জন্য সবচেয়ে গুরুত্বপূর্ণ বাইটটি প্রথমে অ্যাক্সেস করা হয়। দেখুন। ভাসমান-বিন্দু সংখ্যার জন্য, দেখুন। পাঠ্য যখন অক্ষর (পাঠ্য) স্ট্রিং একে অপরের সাথে তুলনা করা হয়, যেমন। বাছাইয়ের মতো কিছু প্রক্রিয়াকে সমর্থন করার জন্য, এটি প্রায়শই অভিধানগতভাবে করা হয় যেখানে একটি একক অবস্থানগত উপাদানের (অক্ষর) একটি অবস্থানগত মানও থাকে। অভিধানগত তুলনা মানে প্রায় সর্বত্রঃ টেলিফোন বইয়ের মতো প্রথম অক্ষরটি সর্বোচ্চ স্থানে রয়েছে। পাঠ্য হিসাবে লিখিত পূর্ণসংখ্যা সংখ্যাগুলি সর্বদা স্মৃতিতে সবচেয়ে গুরুত্বপূর্ণ অঙ্কের প্রতিনিধিত্ব করে, যা পাঠ্যের দিক থেকে স্বাধীনভাবে বিগ-এন্ডিয়ানের অনুরূপ। অনেক ঐতিহাসিক এবং বিদ্যমান প্রসেসর একচেটিয়াভাবে বা ডিজাইনের বিকল্প হিসাবে একটি বিগ-এন্ডিয়ান মেমরি উপস্থাপনা ব্যবহার করে। অন্যান্য প্রসেসর প্রকারগুলি লিটল-এন্ডিয়ান মেমরি উপস্থাপনা ব্যবহার করে; অন্যরা মিডল-এন্ডিয়ান, মিক্সড-এন্ডিয়ান বা পিডিপি-11-এন্ডিয়ান নামে আরেকটি স্কিম ব্যবহার করে। কিছু নির্দেশ সেট একটি সেটিং বৈশিষ্ট্যযুক্ত যা ডেটা আনয়ন এবং দোকান, নির্দেশ আনয়ন বা উভয় ক্ষেত্রেই পরিবর্তনযোগ্য এনডিয়াননেসের অনুমতি দেয়। এই বৈশিষ্ট্যটি কার্যকারিতা উন্নত করতে পারে বা নেটওয়ার্কিং ডিভাইস এবং সফ্টওয়্যারের যুক্তি সহজতর করতে পারে। বাই-এন্ডিয়ান শব্দটি, যখন হার্ডওয়্যার সম্পর্কে বলা হয়, তখন মেশিনের উভয় এন্ডিয়ান বিন্যাসে ডেটা গণনা বা পাস করার ক্ষমতাকে বোঝায়। বিভিন্ন প্রান্তিকতার তথ্য নিয়ে কাজ করাকে কখনও কখনও এন. ইউ. এক্স. আই সমস্যা বলা হয়। এই পরিভাষাটি ইউনিক্স, যা মিক্সড-এন্ডিয়ান পিডিপি-11-এ চলেছিল, একটি বিগ-এন্ডিয়ান আইবিএম সিরিজ/1 কম্পিউটারে মানিয়ে নেওয়ার সময় সম্মুখীন হওয়া বাইট অর্ডার দ্বন্দ্বকে নির্দেশ করে। ইউনিক্স ছিল প্রথম সিস্টেমগুলির মধ্যে একটি যা একই কোডকে বিভিন্ন অভ্যন্তরীণ উপস্থাপনা সহ প্ল্যাটফর্মগুলির জন্য সংকলিত করার অনুমতি দেয়। রূপান্তরিত প্রথম প্রোগ্রামগুলির মধ্যে একটি মুদ্রণ করার কথা ছিল, তবে সিরিজ/1-এ এটি পরিবর্তে মুদ্রিত হয়েছিল। আইবিএম সিস্টেম/360 বিগ-এন্ডিয়ান বাইট অর্ডার ব্যবহার করে, যেমন এর উত্তরসূরি সিস্টেম/370, ইএসএ/390, এবং জেড/আর্কিটেকচার। পিডিপি-10 বাইট-ভিত্তিক নির্দেশাবলীর জন্য বিগ-এন্ডিয়ান অ্যাড্রেসিং ব্যবহার করে। আইবিএম সিরিজ/1 মিনিকম্পিউটার বিগ-এন্ডিয়ান বাইট অর্ডার ব্যবহার করে। ডেটাপয়েন্ট 2200 সহজ বিট-সিরিয়াল লজিক ব্যবহার করে লিটল-এন্ডিয়ান ব্যবহার করে বহন প্রসারকে সহজতর করে। ইন্টেল যখন ডেটাপয়েন্টের জন্য 8008 মাইক্রোপ্রসেসর তৈরি করেছিল, তখন তারা সামঞ্জস্যের জন্য লিটল-এন্ডিয়ান ব্যবহার করেছিল। যাইহোক, ইন্টেল সময়মতো 8008 সরবরাহ করতে অক্ষম হওয়ায়, ডেটাপয়েন্ট একটি মাঝারি-স্কেল ইন্টিগ্রেশন সমতুল্য ব্যবহার করেছিল, তবে এমসিএস-48 এবং 8086 এবং এর x86 উত্তরসূরি সহ বেশিরভাগ ইন্টেল ডিজাইনে সামান্য-এন্ডিয়াননেস বজায় রাখা হয়েছিল। ডিইসি আলফা, অ্যাটমেল এভিআর, ভিএএক্স, এমওএস টেকনোলজি 6502 পরিবার (ওয়েস্টার্ন ডিজাইন সেন্টার 65802 এবং 65সি816 সহ), জিলগ জেড80 (জেড180 এবং ইজেড80 সহ), অল্টেরা নিওস 2, এবং অন্যান্য অনেক প্রসেসর এবং প্রসেসর পরিবারও সামান্য-এন্ডিয়ান। মটোরোলা 6800/6801,6809 এবং 68000 সিরিজের প্রসেসরগুলি বিগ-এন্ডিয়ান বিন্যাস ব্যবহার করে। ইন্টেল 8051, অন্যান্য ইন্টেল প্রসেসরের বিপরীতে, বড়-প্রান্তীয় বিন্যাসে এলজেএমপি এবং এলসিএএলএল-এর জন্য 16-বিট ঠিকানা আশা করে; তবে, এক্সসিএএলএল নির্দেশাবলী ছোট-প্রান্তীয় বিন্যাসে স্ট্যাকের উপর ফেরত ঠিকানা সংরক্ষণ করে। এস. পি. এ. আর. সি ঐতিহাসিকভাবে 9ম সংস্করণ পর্যন্ত বিগ-এন্ডিয়ান ব্যবহার করত, যা দ্বি-এন্ডিয়ান। একইভাবে প্রথম দিকের আইবিএম পাওয়ার প্রসেসরগুলি বিগ-এন্ডিয়ান ছিল, তবে পাওয়ারপিসি এবং পাওয়ার আইএসএর বংশধররা এখন দ্বি-এন্ডিয়ান। সংস্করণ 3-এর আগে এ. আর. এম স্থাপত্যটি সামান্য-এন্ডিয়ান ছিল যখন এটি দ্বি-এন্ডিয়ান হয়ে ওঠে। নতুন স্থাপত্য আইএ-32 এবং এক্স 86-64 নির্দেশ সেট স্থাপত্যগুলি লিটল-এন্ডিয়ান বিন্যাস ব্যবহার করে। অন্যান্য নির্দেশ সেট আর্কিটেকচার যা এই কনভেনশন অনুসরণ করে, শুধুমাত্র লিটল-এন্ডিয়ান মোডের অনুমতি দেয়, তার মধ্যে রয়েছে নিওস II, অ্যান্ডিস টেকনোলজি এনডিএস 32 এবং কোয়ালকম হেক্সাগন। শুধুমাত্র বিগ-এন্ডিয়ান স্থাপত্যের মধ্যে রয়েছে আইবিএম জেড/আর্কিটেকচার এবং ওপেনআরআইএসসি। কিছু নির্দেশ সেট স্থাপত্য "বাই-এন্ডিয়ান" এবং উভয় এন্ডিয়াননেসের সফ্টওয়্যার চালানোর অনুমতি দেয়; এর মধ্যে রয়েছে পাওয়ার আইএসএ, এস. পি. এ. আর. সি, এ. আর. এম. এ. আরচ64, সি-স্কাই এবং আর. আই. এস. সি-ভি। আই. বি. এম. এ. আই. এক্স এবং আই. বি. এম আই বাই-এন্ডিয়ান পাওয়ার আইএসএ-তে বিগ-এন্ডিয়ান মোডে চলে; লিনাক্স মূলত বিগ-এন্ডিয়ান মোডে চলেছিল, কিন্তু 2019 সালের মধ্যে, আই. বি. এম লিনাক্সের জন্য লিটল-এন্ডিয়ান মোডে রূপান্তরিত হয়েছিল যাতে লিনাক্স সফ্টওয়্যারকে x86 থেকে পাওয়ার-এ পোর্ট করা সহজ হয়। এস. পি. এ. আর. সি-এর কোনও প্রাসঙ্গিক লিটল-এন্ডিয়ান স্থাপন নেই, কারণ ওরাকল সোলারিস এবং লিনাক্স উভয়ই দ্বি-এন্ডিয়ান এস. পি. এ. আর. সি সিস্টেমে বিগ-এন্ডিয়ান মোডে চলে এবং বাস্তবে এটিকে বিগ-এন্ডিয়ান হিসাবে বিবেচনা করা যেতে পারে। এআরএম, সি-স্কাই এবং আরআইএসসি-ভি-র কোনও প্রাসঙ্গিক বিগ-এন্ডিয়ান নিয়োজন নেই এবং বাস্তবে এটিকে লিটল-এন্ডিয়ান হিসাবে বিবেচনা করা যেতে পারে। কিছু স্থাপত্য (এআরএম সংস্করণ 3 এবং তার উপরে, পাওয়ারপিসি, আলফা, এস. পি. এ. আর. সি ভি9, এম. আই. পি. এস, ইন্টেল আই860, পি. এ-আর. আই. এস. সি, সুপার এইচ এস. এইচ-4 এবং আই. এ-64 সহ) একটি সেটিং বৈশিষ্ট্যযুক্ত যা ডেটা আনয়ন এবং দোকান, নির্দেশ আনয়ন বা উভয় ক্ষেত্রেই পরিবর্তনযোগ্য এনডিয়াননেসের অনুমতি দেয়। এই বৈশিষ্ট্যটি কার্যকারিতা উন্নত করতে পারে বা নেটওয়ার্কিং ডিভাইস এবং সফ্টওয়্যারের যুক্তি সহজতর করতে পারে। বাই-এন্ডিয়ান শব্দটি, যখন হার্ডওয়্যার সম্পর্কে বলা হয়, তখন মেশিনের উভয় এন্ডিয়ান বিন্যাসে ডেটা গণনা বা পাস করার ক্ষমতাকে বোঝায়। এই স্থাপত্যগুলির মধ্যে অনেকগুলি সফ্টওয়্যারের মাধ্যমে একটি নির্দিষ্ট এন্ডিয়ান বিন্যাসে ডিফল্টভাবে স্যুইচ করা যেতে পারে (সাধারণত কম্পিউটার শুরু হওয়ার সময় করা হয়); তবে, কিছু সিস্টেমে, ডিফল্ট এন্ডিয়াননেস মাদারবোর্ডে হার্ডওয়্যার দ্বারা নির্বাচিত হয় এবং সফ্টওয়্যারের মাধ্যমে পরিবর্তন করা যায় না (যেমন। আলফা, যা শুধুমাত্র ক্রে টি3ই-তে বিগ-এন্ডিয়ান মোডে চলে)। বাই-এন্ডিয়ান শব্দটি প্রাথমিকভাবে বোঝায় যে কোনও প্রসেসর কীভাবে ডেটা অ্যাক্সেসের সাথে আচরণ করে। একটি প্রদত্ত প্রসেসরের নির্দেশমূলক প্রবেশাধিকারগুলি (নির্দেশ শব্দের আনয়ন) এখনও একটি নির্দিষ্ট স্থায়ীত্ব ধরে নিতে পারে, এমনকি ডেটা অ্যাক্সেসগুলি সম্পূর্ণরূপে দ্বি-স্থায়ী হলেও, যদিও এটি সর্বদা হয় না, যেমন ইন্টেলের আইএ-64-ভিত্তিক ইটানিয়াম সিপিইউতে, যা উভয়কেই অনুমতি দেয়। এটাও লক্ষ্য করুন যে, কিছু নামমাত্র বাই-এন্ডিয়ান সিপিইউ-এর এন্ডিয়াননেস সম্পূর্ণরূপে পরিবর্তন করতে মাদারবোর্ডের সাহায্যের প্রয়োজন হয়। উদাহরণস্বরূপ, লিটল-এন্ডিয়ান মোডে 32-বিট ডেস্কটপ-ওরিয়েন্টেড পাওয়ারপিসি প্রসেসরগুলি এক্সিকিউটিভ প্রোগ্রামগুলির দৃষ্টিকোণ থেকে লিটল-এন্ডিয়ান হিসাবে কাজ করে, তবে তাদের মাদারবোর্ডকে সমস্ত 8টি বাইটে 64-বিট অদলবদল করতে হবে যাতে নিশ্চিত করা যায় যে আই/ও ডিভাইসগুলিতে জিনিসগুলির লিটল-এন্ডিয়ান ভিউ প্রযোজ্য হবে। এই অস্বাভাবিক মাদারবোর্ড হার্ডওয়্যারের অনুপস্থিতিতে, অসম্পূর্ণ রূপান্তরটি পূর্বাবস্থায় ফিরিয়ে আনতে ডিভাইস ড্রাইভার সফ্টওয়্যারকে অবশ্যই বিভিন্ন ঠিকানায় লিখতে হবে এবং একটি স্বাভাবিক বাইট অদলবদলও করতে হবে। কিছু সিপিইউ, যেমন এমবেডেড ব্যবহারের উদ্দেশ্যে অনেক পাওয়ারপিসি প্রসেসর এবং প্রায় সমস্ত এস. পি. এ. আর. সি প্রসেসর, প্রতি পৃষ্ঠায় এন্ডিয়াননেসের পছন্দের অনুমতি দেয়। 1990-এর দশকের শেষের দিক থেকে এস. পি. এ. আর. সি প্রসেসরগুলি (এস. পি. এ. আর. সি ভি9 অনুবর্তী প্রসেসর) প্রতিটি পৃথক নির্দেশের সাথে ডেটা এনডিয়াননেস বেছে নেওয়ার অনুমতি দেয় যা মেমরি থেকে লোড করে বা সঞ্চয় করে। এআরএম স্থাপত্য দুটি বিগ-এন্ডিয়ান মোড সমর্থন করে, যাকে বিই-8 এবং বিই-32 বলা হয়। এআরএমভি5 পর্যন্ত সিপিইউ শুধুমাত্র বিই-32 বা ওয়ার্ড-ইনভ্যারিয়েন্ট মোড সমর্থন করে। এখানে যে কোনও স্বাভাবিকভাবে সারিবদ্ধ 32-বিট অ্যাক্সেস লিটল-এন্ডিয়ান মোডের মতো কাজ করে, তবে একটি বাইট বা 16-বিট শব্দের অ্যাক্সেস সংশ্লিষ্ট ঠিকানায় পুনঃনির্দেশিত হয় এবং সারিবদ্ধ অ্যাক্সেসের অনুমতি নেই। এআরএমভি6 বিই-8 বা বাইট-ইনভ্যারিয়েন্ট মোড প্রবর্তন করে, যেখানে একটি একক বাইটে অ্যাক্সেস লিটল-এন্ডিয়ান মোডের মতো কাজ করে, তবে একটি 16-বিট, 32-বিট বা (এআরএমভি 8 দিয়ে শুরু করে) 64-বিট শব্দ অ্যাক্সেস করার ফলে ডেটার একটি বাইট অদলবদল হয়। এটি 32 বিট ব্যতীত অন্যান্য রেজিস্টারে অসংলগ্ন মেমরি অ্যাক্সেসের পাশাপাশি মেমরি-ম্যাপড অ্যাক্সেসকে সহজতর করে। অনেক প্রসেসরের একটি রেজিস্টারে একটি শব্দকে বিপরীত এন্ডিয়ানেসে রূপান্তর করার নির্দেশ রয়েছে, অর্থাৎ, তারা 16-, 32-বা 64-বিট শব্দের মধ্যে বাইটের ক্রমকে অদলবদল করে। যদিও সমস্ত পৃথক বিট বিপরীত হয় না। সাম্প্রতিক ইন্টেল x86 এবং x 86-64 স্থাপত্যের সিপিইউগুলিতে একটি এমওভিবিই নির্দেশ রয়েছে (অ্যাটমের পরে 4র্থ প্রজন্ম থেকে ইন্টেল কোর), যা মেমরি থেকে একটি বড়-প্রান্তীয় বিন্যাসের শব্দ নিয়ে আসে বা বড়-প্রান্তীয় বিন্যাসে স্মৃতিতে একটি শব্দ লেখে। এই প্রসেসরগুলি অন্যথায় পুরোপুরি ছোট-এন্ডিয়ান। এমন যন্ত্রও রয়েছে যা বিভিন্ন জায়গায় বিভিন্ন বিন্যাস ব্যবহার করে। উদাহরণস্বরূপ, BQ27421 টেক্সাস ইন্সট্রুমেন্টস ব্যাটারি গেজ তার রেজিস্টারের জন্য লিটল-এন্ডিয়ান ফরম্যাট এবং র্যান্ডম-অ্যাক্সেস মেমরির জন্য বিগ-এন্ডিয়ান ফরম্যাট ব্যবহার করে। এই আচরণ পরিবর্তনযোগ্য বলে মনে হয় না। ফ্লোটিং পয়েন্ট যদিও অনেক প্রসেসর সব ধরনের তথ্যের (পূর্ণসংখ্যা, ফ্লোটিং পয়েন্ট) জন্য লিটল-এন্ডিয়ান স্টোরেজ ব্যবহার করে, তবে বেশ কয়েকটি হার্ডওয়্যার আর্কিটেকচার রয়েছে যেখানে ফ্লোটিং-পয়েন্ট সংখ্যাগুলি বিগ-এন্ডিয়ান আকারে প্রতিনিধিত্ব করা হয় এবং পূর্ণসংখ্যাগুলি লিটল-এন্ডিয়ান আকারে প্রতিনিধিত্ব করা হয়। এআরএম প্রসেসর রয়েছে যার ডাবল-প্রিসিশন সংখ্যার জন্য মিশ্র-এন্ডিয়ান ফ্লোটিং-পয়েন্ট উপস্থাপনা রয়েছেঃ দুটি 32-বিট শব্দের প্রতিটি লিটল-এন্ডিয়ান হিসাবে সংরক্ষণ করা হয়, তবে সবচেয়ে গুরুত্বপূর্ণ শব্দটি প্রথমে সংরক্ষণ করা হয়। ভিএএক্স ভাসমান বিন্দু বড়-প্রান্তীয় ক্রমে ছোট-প্রান্তীয় 16-বিট শব্দ সংরক্ষণ করে। যেহেতু তাদের জন্য কোনও নেটওয়ার্ক স্ট্যান্ডার্ড উপস্থাপনা ছাড়াই অনেক ভাসমান-বিন্দু বিন্যাস রয়েছে, এক্সডিআর স্ট্যান্ডার্ড তার প্রতিনিধিত্ব হিসাবে বিগ-এন্ডিয়ান আই. ই. ই. ই 754 ব্যবহার করে। অতএব এটি অদ্ভুত বলে মনে হতে পারে যে ব্যাপক আই. ই. ই. ই 754 ভাসমান-বিন্দু মান এন্ডিয়াননেস নির্দিষ্ট করে না। তাত্ত্বিকভাবে, এর অর্থ হল যে একটি যন্ত্র দ্বারা লিখিত স্ট্যান্ডার্ড আই. ই. ই. ই ভাসমান-বিন্দু তথ্যও অন্য যন্ত্র দ্বারা পাঠযোগ্য নাও হতে পারে। যাইহোক, আধুনিক স্ট্যান্ডার্ড কম্পিউটারে (অর্থাৎ, আই. ই. ই. ই 754 প্রয়োগ করা), কেউ নিরাপদে ধরে নিতে পারে যে ভাসমান-বিন্দু সংখ্যার জন্য পূর্ণসংখ্যাগুলির জন্য একই, যা তথ্যের ধরন নির্বিশেষে রূপান্তরকে সোজা করে তোলে। তবে, বিশেষ ভাসমান-বিন্দু বিন্যাস ব্যবহার করে ছোট এমবেডেড সিস্টেমগুলি অন্য বিষয় হতে পারে। পরিবর্তনশীল-দৈর্ঘ্যের তথ্য এখন পর্যন্ত বিবেচিত বেশিরভাগ নির্দেশাবলীতে অপারেশন কোডের মধ্যে তাদের অপারেন্ডের আকার (দৈর্ঘ্য) থাকে। প্রায়শই উপলব্ধ অপারেন্ডের দৈর্ঘ্য হল 1,2,4,8 বা 16 বাইট। তবে এমন কিছু স্থাপত্যও রয়েছে যেখানে একটি অপারেন্ডের দৈর্ঘ্য নির্দেশের একটি পৃথক ক্ষেত্রে বা অপারেন্ডের সাথে রাখা যেতে পারে, যেমন। একটি শব্দ চিহ্নের মাধ্যমে। এই ধরনের পদ্ধতির ফলে অপারেন্ডের দৈর্ঘ্য 256 বাইট বা তার বেশি হতে পারে। এই ধরনের অপারেন্ডের ডেটা প্রকারগুলি হল ক্যারেক্টর স্ট্রিং বা বিসিডি। মেশিনগুলি একটি নির্দেশের মাধ্যমে এই ধরনের তথ্য পরিচালনা করতে সক্ষম (যেমন। তুলনা করুন, যোগ করুন) আইবিএম 1401,1410,1620, সিস্টেম/360, সিস্টেম/370, ইএসএ/390, এবং জেড/আর্কিটেকচার অন্তর্ভুক্ত করুন, এগুলি সবই বিগ-এন্ডিয়ান ধরনের। একটি ক্ষেত্রের অংশে সহজতর প্রবেশাধিকার বেশিরভাগ সিস্টেমে, একটি মাল্টি-বাইট মানের ঠিকানা হল তার প্রথম বাইটের ঠিকানা (সর্বনিম্ন ঠিকানা সহ বাইট); সেই ধরনের ছোট-এন্ডিয়ান সিস্টেমের এমন বৈশিষ্ট্য রয়েছে যে, পর্যাপ্ত কম ডেটা মানের জন্য, একই মান বিভিন্ন ঠিকানা ব্যবহার না করে বিভিন্ন দৈর্ঘ্যে মেমরি থেকে পড়া যেতে পারে (এমনকি যখন প্রান্তিককরণ সীমাবদ্ধতা আরোপ করা হয়)। উদাহরণস্বরূপ, বিষয়বস্তু সহ একটি 32-বিট মেমরি অবস্থান 8-বিট (মান = 4এ), 16-বিট (004এ), 24-বিট (00004এ), বা 32-বিট (0000004এ) হিসাবে একই ঠিকানায় পড়া যেতে পারে, যার সবগুলিই একই সংখ্যাসূচক মান বজায় রাখে। যদিও এই লিটল-এন্ডিয়ান বৈশিষ্ট্যটি উচ্চ-স্তরের প্রোগ্রামারদের দ্বারা খুব কমই সরাসরি ব্যবহৃত হয়, তবে এটি মাঝে মাঝে কোড অপ্টিমাইজারদের পাশাপাশি অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামারদের দ্বারা নিযুক্ত করা হয়। আরও সুনির্দিষ্ট ভাষায়, এই ধরনের পরিচয়গুলি নিম্নলিখিত সি কোডের সমতুল্য যা বেশিরভাগ ছোট-এন্ডিয়ান সিস্টেমে সত্য ফিরে আসেঃ ইউনিয়ন {uint8 _ t u8; uint16 _ t u16; uint32 _ t u32; uint64 _ t u64;} u = {. u64 = 0x4A}; রাখে (u. u8 = = u.u16 & & & u8 = = u.u32 & & & u8 = = u.u64? "সত্য": "মিথ্যা"); যদিও সি + + দ্বারা অনুমোদিত নয়, এই ধরনের প্যানিং কোড সি11 মান দ্বারা "বাস্তবায়ন-সংজ্ঞায়িত" হিসাবে অনুমোদিত এবং সাধারণত হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্টিং কোডে ব্যবহৃত হয়। অন্যদিকে, কিছু পরিস্থিতিতে সম্পূর্ণ উপস্থাপনার পরিবর্তে শুধুমাত্র তার সবচেয়ে গুরুত্বপূর্ণ অংশটি পড়ে একটি মাল্টি-বাইট বা মাল্টি-ওয়ার্ড মানের আনুমানিক অনুমান অর্জন করা কার্যকর হতে পারে; একটি বিগ-এন্ডিয়ান প্রসেসর একই বেস অ্যাড্রেস ব্যবহার করে এমন একটি আনুমানিক পড়তে পারে যা সম্পূর্ণ মানের জন্য ব্যবহার করা হবে। এই ধরনের সরলীকরণ অবশ্যই বিভিন্ন প্রান্তিকতার সিস্টেমে বহনযোগ্য নয়। গণনা ক্রম অবস্থানগত সংখ্যা ব্যবস্থায় কিছু ক্রিয়াকলাপের একটি প্রাকৃতিক বা পছন্দসই ক্রম থাকে যেখানে প্রাথমিক ধাপগুলি কার্যকর করতে হয়। এই আদেশটি ছোট আকারের বাইট-অ্যাড্রেসেবল প্রসেসর এবং মাইক্রোকন্ট্রোলারগুলিতে তাদের কার্যকারিতা প্রভাবিত করতে পারে। যাইহোক, উচ্চ-কার্যকারিতা প্রসেসরগুলি সাধারণত মেমরি থেকে মাল্টি-বাইট অপারেন্ডগুলি একই সময়ে নিয়ে আসে যা তারা একটি একক বাইট নিয়ে আসত, তাই হার্ডওয়্যারের জটিলতা বাইট অর্ডারিং দ্বারা প্রভাবিত হয় না। যোগ, বিয়োগ এবং গুণন কমপক্ষে উল্লেখযোগ্য অঙ্কের অবস্থান থেকে শুরু হয় এবং ক্যারিটিকে পরবর্তী আরও গুরুত্বপূর্ণ অবস্থানে প্রসারিত করে। বেশিরভাগ সিস্টেমে, একটি মাল্টি-বাইট মানের ঠিকানা হল তার প্রথম বাইটের ঠিকানা (সর্বনিম্ন ঠিকানা সহ বাইট)। লিটল-এন্ডিয়ান মেশিন ব্যবহার করে এই ক্রিয়াকলাপগুলির বাস্তবায়ন সামান্য সহজ যেখানে এই প্রথম বাইটে সবচেয়ে কম উল্লেখযোগ্য সংখ্যা রয়েছে। তুলনা এবং বিভাজন সবচেয়ে গুরুত্বপূর্ণ অঙ্ক থেকে শুরু হয় এবং পরবর্তী কম গুরুত্বপূর্ণ অঙ্কগুলিতে একটি সম্ভাব্য বহন প্রচার করে। নির্দিষ্ট দৈর্ঘ্যের সংখ্যাসূচক মানগুলির জন্য (সাধারণত দৈর্ঘ্য 1,2,4,8,16), এই ক্রিয়াকলাপগুলির বাস্তবায়ন বিগ-এন্ডিয়ান মেশিনে সামান্য সহজ। কিছু বিগ-এন্ডিয়ান প্রসেসর (যেমন। আইবিএম সিস্টেম/360 এবং এর উত্তরসূরীরা) বিভিন্ন দৈর্ঘ্যের অক্ষরের স্ট্রিংয়ের অভিধানগতভাবে তুলনা করার জন্য হার্ডওয়্যার নির্দেশাবলী ধারণ করে। একটি অ্যাসাইনমেন্ট বিবৃতি দ্বারা স্বাভাবিক তথ্য পরিবহন নীতিগতভাবে প্রসেসরের স্থায়ীত্ব থেকে স্বাধীন। মধ্য-প্রান্তীয় অন্যান্য অসংখ্য ক্রম, সাধারণভাবে মধ্য-প্রান্তীয় বা মিশ্র-প্রান্তীয় বলা হয়, সম্ভব। পিডিপি-11 নীতিগতভাবে একটি 16-বিট লিটল-এন্ডিয়ান সিস্টেম। পিডিপি-11/45, পিডিপি-11/70 এর ঐচ্ছিক ভাসমান-বিন্দু প্রসেসরে ভাসমান-বিন্দু এবং পূর্ণসংখ্যার মানগুলির মধ্যে রূপান্তর করার নির্দেশাবলী এবং পরবর্তী কিছু প্রসেসরে, 32-বিট "দ্বিগুণ নির্ভুলতা পূর্ণসংখ্যা দীর্ঘ" মানগুলি 16-বিট অর্ধেকের সাথে সঞ্চিত করা হয় যা প্রত্যাশিত ক্ষুদ্র-প্রান্তীয় ক্রম থেকে পরিবর্তিত হয়। ইউনিক্স সি সংকলক 32-বিট দীর্ঘ পূর্ণসংখ্যার জন্য একই বিন্যাস ব্যবহার করে। এই আদেশটি পিডিপি-এন্ডিয়ান নামে পরিচিত। এই এন্ডিয়াননেসকে ব্যাখ্যা করার একটি উপায় হল যে এটি একটি 32-বিট পূর্ণসংখ্যাকে দুটি ছোট-এন্ডিয়ান 16-বিট শব্দ হিসাবে সংরক্ষণ করে, একটি বড়-এন্ডিয়ান শব্দের ক্রম সহঃ এখানে 16-বিট মানগুলি তাদের সংখ্যাসূচক মানগুলিকে বোঝায়, তাদের প্রকৃত বিন্যাসকে নয়। আইএ-32-এর সেগমেন্ট বর্ণনাকারী এবং সামঞ্জস্যপূর্ণ প্রসেসরগুলি সেগমেন্টের একটি 32-বিট বেস ঠিকানা ছোট-এন্ডিয়ান ক্রমে সংরক্ষণ করে, তবে চারটি অ-ধারাবাহিক বাইটে, বর্ণনাকারী শুরুর 2,3,4 এবং 7 আপেক্ষিক অবস্থানে রাখে। এন্ডিয়ান তারিখগুলি বছর, মাস এবং দিনের ক্রম অনুসারে বিভিন্ন এন্ডিয়াননেসের সাথে প্রতিনিধিত্ব করা যেতে পারে। উদাহরণস্বরূপ, 13ই সেপ্টেম্বর, 2002 কে এইভাবে উপস্থাপন করা যেতে পারেঃ ছোট-প্রান্তীয় তারিখ (দিন, মাস, বছর), মধ্য-প্রান্তীয় তারিখ (মাস, দিন, বছর), বড়-প্রান্তীয় তারিখ (বছর, মাস, দিন), যেমন আইএসও 8601 মার্কিন যুক্তরাষ্ট্রে তারিখ এবং সময়ের স্বরলিপিতে, তারিখগুলি মধ্য-প্রান্তীয় এবং বিশ্বব্যাপী তারিখের বিন্যাস থেকে পৃথক। যখন মেমোরি বাইটগুলি বাম থেকে ডানে ক্রমানুসারে মুদ্রিত হয় (যেমন। একটি হেক্স ডাম্পে), পূর্ণসংখ্যার লিটল-এন্ডিয়ান উপস্থাপনার গুরুত্ব বাম থেকে ডানে বৃদ্ধি পাচ্ছে। অন্য কথায়, এটি দৃশ্যমান হলে পিছনের দিকে প্রদর্শিত হয়, যা বিপরীত-স্বজ্ঞাত হতে পারে। এই আচরণটি উদ্ভূত হয়, উদাহরণস্বরূপ, ফোরসিসি বা অনুরূপ কৌশলগুলিতে যা একটি পূর্ণসংখ্যায় অক্ষরগুলিকে প্যাকিং জড়িত করে, যাতে এটি স্মৃতিতে নির্দিষ্ট অক্ষরের ক্রম হয়ে যায়। আসুন স্বরলিপিটিকে সংজ্ঞায়িত করা যাক কেবল হেক্সাডেসিমেল এ. এস. সি. আই. আই-তে অক্ষর লেখার এবং সামনে সংযুক্ত করার ফলাফল হিসাবে এবং সংক্ষিপ্ত ক্রমের জন্য অনুরূপভাবে (একটি সি মাল্টিকার্যাক্টর আক্ষরিক): 'জো এন' হেক্স 4এ 6এফ 68 6ই-------------------------------------------------------------------------------------------------------------------------------------- - অনেক সংকলক অন্তর্নির্মিত প্রদান করে যা সম্ভবত স্থানীয় প্রসেসর নির্দেশাবলীতে সংকলিত হতে পারে, যেমন। অদলবদলের জন্য সফ্টওয়্যার ইন্টারফেসের মধ্যে রয়েছেঃ স্ট্যান্ডার্ড নেটওয়ার্ক এন্ডিয়াননেস ফাংশন (/থেকে বিই, 32-বিট পর্যন্ত)। উইন্ডোজে একটি 64-বিট এক্সটেনশন রয়েছে। বিএসডি এবং গ্লিবসি ফাংশন (/থেকে বিই এবং এলই, 64-বিট পর্যন্ত)। ম্যাকোস ম্যাক্রো (/থেকে বিই এবং এলই, 64-বিট পর্যন্ত)। সি + + 23-এ ফাংশন। কিছু সিপিইউ নির্দেশ সেট এন্ডিয়ান বাইট অদলবদলের জন্য স্থানীয় সমর্থন প্রদান করে, যেমন (x86-486 এবং পরবর্তী), এবং (এআরএমভি6 এবং পরবর্তী)। কিছু সংকলকের বাইটে অদলবদল করার জন্য অন্তর্নির্মিত সুবিধা রয়েছে। উদাহরণস্বরূপ, ইন্টেল ফোরট্রান সংকলক একটি ফাইল খোলার সময় অ-মানক নির্দিষ্টকারীকে সমর্থন করে, যেমন। :। অন্যান্য সংকলকদের কাছে কোড তৈরির বিকল্প রয়েছে যা বিশ্বব্যাপী সমস্ত ফাইল আইও ক্রিয়াকলাপের জন্য রূপান্তর সক্ষম করে। এটি কোড পরিবর্তন ছাড়াই বিপরীত প্রান্তিকতা সহ একটি সিস্টেমে কোডের পুনঃব্যবহারের অনুমতি দেয়। ডিজিটাল যুক্তি প্রকাশ করতে ব্যবহৃত লজিক ডিজাইন হার্ডওয়্যার বর্ণনা ভাষাগুলি (এইচডিএল) প্রায়শই নির্বিচারে গ্রানুলারিটির সাথে নির্বিচারে এন্ডিয়াননেসকে সমর্থন করে। উদাহরণস্বরূপ, সিস্টেমভেরিলগে, একটি শব্দকে লিটল-এন্ডিয়ান বা বিগ-এন্ডিয়ান হিসাবে সংজ্ঞায়িত করা যেতে পারেঃ লজিক [31:0] লিটল _ এন্ডিয়ান;// বিট 0 হল সবচেয়ে কম তাৎপর্যপূর্ণ বিট লজিক [0:31] বিগ _ এন্ডিয়ান;// বিট 31 হল সবচেয়ে কম তাৎপর্যপূর্ণ বিট লজিক [0:3] [7:0] মিশ্র;// প্রতিটি বিট ছোট-এন্ডিয়ান, তবে বিটগুলি বড়-এন্ডিয়ান ক্রমে প্যাক করা হয়। ফাইল এবং ফাইল সিস্টেম কম্পিউটারে তৈরি কোনও ফাইল বা ফাইল সিস্টেম পড়ার সময় এন্ডিয়াননেসের স্বীকৃতি গুরুত্বপূর্ণ। একটি এন্ডিয়াননেস দিয়ে তৈরি ফোরট্রান ক্রমিক বিন্যাসহীন ফাইলগুলি সাধারণত অন্য এন্ডিয়াননেস ব্যবহার করে কোনও সিস্টেমে পড়া যায় না কারণ ফোরট্রান সাধারণত গণনা ক্ষেত্রগুলির আগে এবং পরে ডেটা হিসাবে একটি রেকর্ড (একক ফোরট্রান বিবৃতি দ্বারা লিখিত ডেটা হিসাবে সংজ্ঞায়িত) প্রয়োগ করে, যা ডেটাতে বাইটের সংখ্যার সমান পূর্ণসংখ্যা। অন্য প্রান্তিকতার একটি সিস্টেমে ফোরট্রান ব্যবহার করে এই ধরনের একটি ফাইল পড়ার প্রচেষ্টার ফলে রান-টাইম ত্রুটি হয়, কারণ গণনা ক্ষেত্রগুলি ভুল। ইউনিকোড টেক্সট বৈকল্পিকভাবে একটি বাইট অর্ডার মার্ক (বি. ও. এম) দিয়ে শুরু করতে পারে যা ফাইল বা স্ট্রিমের এন্ডিয়াননেসকে সংকেত দেয়। এর কোড পয়েন্ট হল ইউ + এফইএফএফ। উদাহরণস্বরূপ, ইউটিএফ-32-এ, একটি বিগ-এন্ডিয়ান ফাইল দিয়ে শুরু করা উচিত; একটি লিটল-এন্ডিয়ান দিয়ে শুরু করা উচিত। অ্যাপ্লিকেশন বাইনারি ডেটা ফরম্যাট, যেমন ম্যাটল্যাব. ম্যাট ফাইল, বা টপোগ্রাফিতে ব্যবহৃত. বিল ডেটা ফরম্যাট, সাধারণত এন্ডিয়াননেস-স্বাধীন। এটি সর্বদা একটি নির্দিষ্ট এন্ডিয়ানেসে ডেটা সংরক্ষণ করে বা এন্ডিয়ানেস নির্দেশ করার জন্য ডেটা সহ একটি সুইচ বহন করে অর্জন করা হয়। প্রথমটির একটি উদাহরণ হল বাইনারি এক্সএলএস ফাইল ফরম্যাট যা উইন্ডোজ এবং ম্যাক সিস্টেমের মধ্যে বহনযোগ্য এবং সর্বদা ছোট-এন্ডিয়ান, যার জন্য ম্যাক অ্যাপ্লিকেশনটিকে লোডে থাকা বাইটগুলি অদলবদল করতে হবে এবং বড়-এন্ডিয়ান মটোরোলা 68কে বা পাওয়ারপিসি প্রসেসরে চলার সময় সংরক্ষণ করতে হবে। টি. আই. এফ. এফ ইমেজ ফাইলগুলি দ্বিতীয় কৌশলের একটি উদাহরণ, যার হেডার অ্যাপ্লিকেশনটিকে তাদের অভ্যন্তরীণ বাইনারি পূর্ণসংখ্যার এন্ডিয়াননেস সম্পর্কে নির্দেশ দেয়। যদি কোনও ফাইল স্বাক্ষর দিয়ে শুরু হয় তবে এর অর্থ হল পূর্ণসংখ্যাগুলিকে বিগ-এন্ডিয়ান হিসাবে উপস্থাপন করা হয়, যেখানে লিটল-এন্ডিয়ান বোঝায়। এই স্বাক্ষরগুলির প্রত্যেকটির জন্য একটি একক 16-বিট শব্দের প্রয়োজন হয় এবং এগুলি প্যালিন্ড্রোম, তাই এগুলি এন্ডিয়াননেস স্বাধীন। এর অর্থ ইন্টেল এবং এর অর্থ মটোরোলা। ইন্টেল সিপিইউগুলি ছোট-এন্ডিয়ান, অন্যদিকে মটোরোলা 680x0 সিপিইউগুলি বড়-এন্ডিয়ান। এই স্পষ্ট স্বাক্ষর একটি টি. আই. এফ. এফ রিডার প্রোগ্রামকে প্রয়োজন হলে বাইট অদলবদল করার অনুমতি দেয় যখন একটি প্রদত্ত ফাইল একটি ভিন্ন প্রান্তিকতা সহ একটি কম্পিউটারে চলমান টি. আই. এফ. এফ লেখক প্রোগ্রাম দ্বারা তৈরি করা হয়েছিল। ইন্টেল 8080 প্ল্যাটফর্মে এর মূল বাস্তবায়নের ফলস্বরূপ, অপারেটিং সিস্টেম-স্বাধীন ফাইল বরাদ্দ টেবিল (এফ. এ. টি) ফাইল সিস্টেমকে ছোট-এন্ডিয়ান বাইট অর্ডার দিয়ে সংজ্ঞায়িত করা হয়, এমনকি প্ল্যাটফর্মগুলিতেও স্থানীয়ভাবে অন্য এন্ডিয়াননেস ব্যবহার করে, এই প্ল্যাটফর্মগুলিতে এফ. এ. টি বজায় রাখার জন্য বাইট-সোয়াপ অপারেশন প্রয়োজন হয়। জেডএফএস, যা একটি ফাইল সিস্টেম এবং একটি লজিক্যাল ভলিউম ম্যানেজারকে একত্রিত করে, অভিযোজিত এন্ডিয়াননেস প্রদান এবং বিগ-এন্ডিয়ান এবং লিটল-এন্ডিয়ান উভয় সিস্টেমের সাথে কাজ করার জন্য পরিচিত। নেটওয়ার্কিং অনেক আই. ই. টি. এফ আর. এফ. সি নেটওয়ার্ক অর্ডার শব্দটি ব্যবহার করে, যার অর্থ নেটওয়ার্ক প্রোটোকলে তারের উপর দিয়ে বাইটের জন্য সংক্রমণের ক্রম। অন্যদের মধ্যে, ঐতিহাসিক ইন্টারনেট প্রোটোকল স্যুটের প্রোটোকলগুলির জন্য নেটওয়ার্ক অর্ডারকে বিগ-এন্ডিয়ান হিসাবে সংজ্ঞায়িত করে, তাই বিগ-এন্ডিয়ান বাইট অর্ডারের জন্য শব্দটির ব্যবহার। যাইহোক, সমস্ত প্রোটোকল নেটওয়ার্ক অর্ডার হিসাবে বিগ-এন্ডিয়ান বাইট অর্ডার ব্যবহার করে না। সার্ভার মেসেজ ব্লক (এস. এম. বি) প্রোটোকল লিটল-এন্ডিয়ান বাইট অর্ডার ব্যবহার করে। ক্যানোপেন-এ, মাল্টি-বাইট প্যারামিটারগুলি সর্বদা সর্বনিম্ন উল্লেখযোগ্য বাইট ফার্স্ট (লিটল-এন্ডিয়ান) পাঠানো হয়। ইথারনেট পাওয়ারলিঙ্কের ক্ষেত্রেও একই কথা প্রযোজ্য। বার্কলে সকেটস এপিআই 16-এবং 32-বিট পূর্ণসংখ্যাকে নেটওয়ার্ক বাইট অর্ডারে এবং রূপান্তর করার জন্য ফাংশনগুলির একটি সেটকে সংজ্ঞায়িত করেঃ (হোস্ট-টু-নেটওয়ার্ক-শর্ট) এবং (হোস্ট-টু-নেটওয়ার্ক-লং) ফাংশনগুলি মেশিন (হোস্ট) থেকে নেটওয়ার্ক অর্ডারে যথাক্রমে 16-এবং 32-বিট মানগুলিকে রূপান্তরিত করে; এবং ফাংশনগুলি নেটওয়ার্ক থেকে হোস্ট অর্ডারে রূপান্তরিত হয়। এই ফাংশনগুলি একটি বিগ-এন্ডিয়ান সিস্টেমে নো-অপ হতে পারে। যদিও উচ্চ-স্তরের নেটওয়ার্ক প্রোটোকলগুলি সাধারণত বাইটকে (বেশিরভাগ অক্টেট হিসাবে বোঝানো হয়) তাদের পারমাণবিক একক হিসাবে বিবেচনা করে, একটি নেটওয়ার্ক স্ট্যাকের সর্বনিম্ন স্তরগুলি একটি বাইটের মধ্যে বিটের ক্রম নিয়ে কাজ করতে পারে। বিট অর্ডার হল এন্ডিয়াননেসের অনুরূপ একটি ধারণা, তবে বিটের স্তরে, বাইট নয়। ক্রমিক যোগাযোগে, একটি বাইটে বিটগুলি প্রথমে ন্যূনতম-তাৎপর্যপূর্ণ বিট (এলএসবি) বা সর্বাধিক তাৎপর্যপূর্ণ বিট (এমএসবি) প্রেরণ করা যেতে পারে। আরএস-232, এইচডিএলসি, ইথারনেট এবং ইউএসবি প্রথমে এলএসবি প্রেরণ করে। টেলিটেক্সট, আইটুসি, এসএমবাস, পিএমবাস এবং সোনেট এবং এসডিএইচ প্রথমে এমএসবি প্রেরণ করে। এআরআইএনসি 429 তার লেবেল ক্ষেত্রের জন্য একটি অর্ডার এবং ফ্রেমের বাকি অংশের জন্য অন্য অর্ডার ব্যবহার করে। কম্পিউটার আর্কিটেকচারে বিট অর্ডার একটি সমালোচনামূলক বিবেচনা নয় যা সাধারণত সমান্তরাল কাঠামো ব্যবহার করে এবং প্রতিটি বিটের জন্য একটি অনন্য ঠিকানা থাকা বিরল। পৃথক বিট বা বিট ক্ষেত্রগুলি তাদের বিট সংখ্যার মাধ্যমে বা উচ্চ-স্তরের প্রোগ্রামিং ভাষাগুলিতে নির্ধারিত নামগুলির মাধ্যমে অ্যাক্সেস করা হয়, যার প্রভাবগুলি মেশিন নির্ভর হতে পারে বা সফ্টওয়্যার বহনযোগ্যতার অভাব থাকতে পারে। বিবরণ বাহ্যিক লিঙ্ক কম্পিউটার মেমরি ডেটা ট্রান্সমিশন মেটাফর্স সফ্টওয়্যার যুদ্ধ