মূল বিষয়বস্তুতে যান

বাইনারি থেকে দশমিক রূপান্তরকারী | বিনামূল্যে অনলাইন টুল

বাইনারি এবং দশমিক সংখ্যায় তৎক্ষণাৎ রূপান্তর করুন। ধাপে ধাপে ব্যাখ্যা, কোড উদাহরণ এবং ডেভেলপার ও শিক্ষার্থীদের জন্য ব্যবহারিক ক্ষেত্রসমূহ সহ বিনামূল্যে টুল।

বাইনারি-দশমিক রূপান্তরক

বাইনারি এবং দশমিক সংখ্যা পদ্ধতির মধ্যে তৎক্ষণাৎ রূপান্তর করুন।

বাইনারি সংখ্যায় শুধুমাত্র ০ এবং ১ ব্যবহৃত হয়

দশমিক সংখ্যায় ০-৯ পর্যন্ত সংখ্যা ব্যবহৃত হয়

অন্য ক্ষেত্রে রূপান্তর দেখতে দুটির মধ্যে একটি ক্ষেত্রে মান লিখুন।

লোডিং ক্যালকুলেটর...
📚

ডকুমেন্টেশন

বাইনারি থেকে দশমিক রূপান্তরকারী: সংখ্যা পদ্ধতিগুলি তৎক্ষণাৎ রূপান্তর করুন

কখনো কি 1 এবং 0 এর একটি সিরিজ দেখে ভেবেছেন সেটি আসলে কী সংখ্যা প্রতিনিধিত্ব করে? যদি আপনি কম্পিউটার সম্পর্কিত যেকোনো স্তরে কাজ করেন—নেটওয়ার্ক সমস্যা ডিবাগ করছেন, মাইক্রোকন্ট্রোলার প্রোগ্রামিং করছেন, অথবা কেবল জানতে চান কীভাবে কম্পিউটার চিন্তা করে—আপনি অবশ্যই বাইনারি এবং দশমিক মধ্যে রূপান্তর করতে হবে।

এই টুলটি দ্রুত উভয় দিকে রূপান্তর করে। আপনার সংখ্যাটি যেকোনো ক্ষেত্রে টাইপ করুন এবং রূপান্তর দেখুন। আরও গুরুত্বপূর্ণ, আপনি কীভাবে রূপান্তর হয় তা দেখতে পাবেন, যা আপনার কোডের অভ্যন্তরে কী ঘটছে বুঝতে সাহায্য করে।

বাইনারি-দশমিক রূপান্তর কঠিন কেন: আমাদের মস্তিষ্ক বেস-১০ এর জন্য তৈরি (আমাদের দশটি আঙ্গুল আছে), কিন্তু কম্পিউটার শুধুমাত্র বেস-২ তে কাজ করে। প্রতিটি তথ্য—টেক্সট, ছবি, ভিডিও, আপনার ব্রাউজিং ইতিহাস—শেষ পর্যন্ত 0 এবং 1 এর সিকোয়েন্সে ভেঙে যায়। এই সম্পর্ক বুঝা কেবল একাডেমিক নয়; এটি ব্যবহারিক জ্ঞান যা IP ঠিকানা, ফাইল অনুমতি, বিটওয়াইজ অপারেশন এবং মেমরি ঠিকানা সম্পর্কিত।

সুখবর? একবার নিয়ম বুঝে গেলে, রূপান্তর সহজ হয়ে যায়। গণিত সরল—শুধুমাত্র গুণ এবং যোগ (বা বিপরীত দিকে রূপান্তরের জন্য ভাগ)। যা লোকেদের বিভ্রান্ত করে তা হল পজিশন মূল্যের হিসাব, বিশেষ করে দীর্ঘ সংখ্যার ক্ষেত্রে। এটিই ঠিক যা এই রূপান্তরকারী সমাধান করে।

বাইনারি থেকে ডেসিমাল এবং ডেসিমাল থেকে বাইনারি রূপান্তর কীভাবে করতে হয়

ডেসিমাল সিস্টেম (বেস-১০) বোঝা

আপনি ইতিমধ্যে ডেসিমাল জানেন—যা আপনি প্রাথমিক বিদ্যালয়ে শিখেছেন। আমরা দশটি অঙ্ক (০-৯) ব্যবহার করি, এবং প্রত্যেক অবস্থান ১০-এর একটি পাওয়ার প্রতিনিধিত্ব করে:

ডেসিমাল সংখ্যা=dn×10n+dn1×10n1+...+d1×101+d0×100\text{ডেসিমাল সংখ্যা} = d_n \times 10^n + d_{n-1} \times 10^{n-1} + ... + d_1 \times 10^1 + d_0 \times 10^0

৪২৭ সংখ্যাটি বিভাজন করে দেখা যাক:

  • ৪ × ১০² = ৪০০ (শতের স্থান)
  • ২ × ১০¹ = ২০ (দশের স্থান)
  • ৭ × ১০⁰ = ৭ (একের স্থান)

এই মূল্যগুলি যোগ করলে: ৪০০ + ২০ + ৭ = ৪২৭

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

বাইনারি সিস্টেম (বেস-২) বোঝা

বাইনারি ডেসিমালের মতো কাজ করে, শুধুমাত্র ১০-এর পরিবর্তে ২-এর পাওয়ার ব্যবহার করে। আপনার কেবল দুটি অঙ্ক আছে—০ এবং ১:

বাইনারি সংখ্যা=bn×2n+bn1×2n1+...+b1×21+b0×20\text{বাইনারি সংখ্যা} = b_n \times 2^n + b_{n-1} \times 2^{n-1} + ... + b_1 \times 2^1 + b_0 \times 2^0

১০১০ বাইনারি সংখ্যাটি নিন। ডানদিক থেকে বাম দিকে প্রত্যেক অবস্থান ১, ২, ৪, ৮, ১৬ ইত্যাদি প্রতিনিধিত্ব করে:

  • ১ × ২³ = ৮
  • ০ × ২² = ০
  • ১ × ২¹ = ২
  • ০ × ২⁰ = ০

এই মূল্যগুলি যোগ করলে: ৮ + ০ + ২ + ০ = ১০ ডেসিমালে

প্যাটার্নটি ডেসিমালের মতো একই, শুধুমাত্র একটি ভিন্ন বেস। একবার এটি অন্তর্ভুক্ত করলে, বাইনারি স্বাভাবিক পাঠ্য সংখ্যার মতো হয়ে যায়।

বাইনারি থেকে দশমিক রূপান্তর সূত্র এবং পদ্ধতিসমূহ

বাইনারি থেকে দশমিক: এর পিছনের গণিত

বাইনারি থেকে দশমিক রূপান্তর একটি সরল প্যাটার্ন অনুসরণ করে: প্রত্যেক অঙ্কের যে অবস্থানে আছে সেই অবস্থানের 2-এর ঘাত দ্বারা গুণ করুন, তারপর সবকিছু যোগ করুন। সূত্রটি এরকম দেখায়:

দশমিক=i=0nbi×2i\text{দশমিক} = \sum_{i=0}^{n} b_i \times 2^i

যেখানে:

  • bib_i হল প্রত্যেক বাইনারি অঙ্ক (0 বা 1)
  • ii হল অবস্থান যা ডানদিক থেকে বাম দিকে গণনা করা হয় (0 থেকে শুরু করে)
  • nn হল মোট অঙ্কের সংখ্যা মাইনাস 1

জটিল মনে হচ্ছে? বাস্তবে এটি খুবই সহজ। ডানদিক থেকে বাম দিকে প্রত্যেক অবস্থান 1, 2, 4, 8, 16, 32 এবং এইভাবে প্রতিবার দ্বিগুণ হয়ে যায়।

উদাহরণ: বাইনারি 1101 কে দশমিকে রূপান্তর

  1. 1 × 2³ = 8
  2. 1 × 2² = 4
  3. 0 × 2¹ = 0
  4. 1 × 2⁰ = 1
  5. যোগফল: 8 + 4 + 0 + 1 = 13 দশমিক

লক্ষ্য করুন যে আমরা শুধুমাত্র সেই অবস্থানগুলি যোগ করি যেখানে 1 আছে। 0 কিছু যোগ করে না, তাই আপনি মানসিকভাবে সেগুলি বাদ দিতে পারেন। এটি 1101 হল 0, 2, এবং 3 অবস্থানগুলি (যা 1 + 4 + 8 = 13 সমান)।

দশমিক থেকে বাইনারি: ভাগ পদ্ধতি

অন্য দিকে - দশমিক থেকে বাইনারি - একটি ভিন্ন পদ্ধতি ব্যবহার করে। আপনি বারবার 2 দ্বারা ভাগ করবেন এবং ভাগশেষগুলি সংগ্রহ করবেন:

  1. আপনার দশমিক সংখ্যাকে 2 দ্বারা ভাগ করুন
  2. ভাগশেষটি লিখুন (সবসময় 0 বা 1)
  3. ভাগফলটিকে আবার 2 দ্বারা ভাগ করুন
  4. ভাগফল 0 না হওয়া পর্যন্ত চালিয়ে যান
  5. সমস্ত ভাগশেষ বিপরীত দিক থেকে (নিচ থেকে উপরে) পড়ুন

উদাহরণ: দশমিক 25 কে বাইনারিতে রূপান্তর

  1. 25 ÷ 2 = 12 ভাগশেষ 1
  2. 12 ÷ 2 = 6 ভাগশেষ 0
  3. 6 ÷ 2 = 3 ভাগশেষ 0
  4. 3 ÷ 2 = 1 ভাগশেষ 1
  5. 1 ÷ 2 = 0 ভাগশেষ 1
  6. নিচ থেকে উপরে পড়লে: 11001 বাইনারি

মূল কৌশলটি হল মনে রাখা যে ভাগশেষের অর্ডার উল্টো করতে হবে। আপনি যে প্রথম ভাগশেষ গণনা করেন তা আপনার বাইনারি ফলাফলের শেষ (ডানদিকের) অঙ্ক হবে। এটি প্রাথমিকভাবে লোকেদের বিভ্রান্ত করতে পারে, কিন্তু এটি যুক্তিসঙ্গত যখন আপনি বুঝতে পারেন যে আপনি মূলত কম তাৎপর্যপূর্ণ বিট প্রথমে তুলে নিচ্ছেন।

কিভাবে এই কনভার্টার ব্যবহার করবেন

টুলটি বাই-ডাইরেকশনাল কাজ করে—যেকোনো ফিল্ডে টাইপ করুন এবং অন্য ফিল্ডটি তৎক্ষণাৎ আপডেট হতে দেখুন। কোনো বাটন ক্লিক করতে হবে না, কোনো ফর্ম জমা দিতে হবে না।

বাইনারি থেকে ডেসিমাল রূপান্তর

আপনার বাইনারি সংখ্যা (শুধুমাত্র 0 এবং 1) বাইনারি ফিল্ডে টাইপ করুন। ডেসিমাল সমতুল্য তৎক্ষণাৎ প্রদর্শিত হবে। যদি আপনি অনাকাঙ্ক্ষিতভাবে 2 বা অন্য কোনো অবৈধ অঙ্ক অন্তর্ভুক্ত করেন, তাহলে একটি ত্রুটি বার্তা দেখতে পাবেন।

প্রো টিপ: আপনি সরাসরি কোড, ডেটাশিট বা নেটওয়ার্ক বিশ্লেষকের থেকে বাইনারি মান পেস্ট করতে পারেন। টুলটি স্বয়ংক্রিয়ভাবে স্পেস এবং সাধারণ উपসর্গ যেমন 0b মুছে ফেলবে।

ডেসিমাল থেকে বাইনারি রূপান্তর

ডেসিমাল ফিল্ডে যেকোনো অঋণাত্মক পূর্ণসংখ্যা লিখুন, এবং বাইনারি প্রতিনিধিত্ব তৎক্ষণাৎ প্রদর্শিত হবে। 0 থেকে 9 কোয়াড্রিলিয়ন পর্যন্ত সব কিছুর জন্য কাজ করে।

সাধারণ ব্যবহার: যখন আপনি কোডে বিট ফ্ল্যাগ সেট করছেন এবং কোন বিট সেট আছে তা যাচাই করতে চান। 255 টাইপ করলে আপনি দেখবেন 11111111—একটি বাইটের সমস্ত 8 বিট চালু।

ব্রেকডাউন বুঝতে

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

[SVG ড্রাইং যথারীতি অনুবাদিত]

বাইনারি কনভার্টার অ্যাপ্লিকেশন: বাস্তব-দুনিয়ার ব্যবহার ক্ষেত্রসমূহ

ব্যবহারিক ক্ষেত্রে, বাইনারি-দশমিক রূপান্তর আশা করার চেয়ে বেশি ঘটে। এখানে কিছু পরিস্থিতি রয়েছে যেখানে এই রূপান্তরগুলি সত্যিই দরকারি:

কম্পিউটার সাইন্স এবং প্রোগ্রামিং

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

একটি সাধারণ ভুল: ভুলে যাওয়া যে বিটওয়াইজ শিফটগুলি আসলে 2-এর ঘাতে গুণ বা ভাগ। যখন কোডে x << 3 দেখা যায়, এটিকে "8 দ্বারা গুণ" (2³) হিসাবে চিনতে পারলে পারফরমেন্স অপ্টিমাইজেশনগুলি বুঝতে সাহায্য করে।

ডিজিটাল ইলেকট্রনিক্স

মাইক্রোকন্ট্রোলার ডেটাশিটগুলি রেজিস্টার কনফিগারেশনগুলি হেক্স এবং বাইনারি উভয়ে নির্দিষ্ট করে। GPIO পিন সেট করার বা টাইমার কনফিগার করার সময়, আপনাকে অন্য পিনগুলিকে প্রভাবিত না করে নির্দিষ্ট বিটগুলি ফ্লিপ করতে হবে। এর জন্য সঠিকভাবে বুঝতে হবে কোন বিট অবস্থান কোন দশমিক মানের সাথে সংযুক্ত। উদাহরণস্বরূপ, বিট 5 সেট করার অর্থ আপনার রেজিস্টার মানে 32 (2⁵) যোগ করা।

নেটওয়ার্ক ইঞ্জিনিয়ারিং

IPv4 ঠিকানাগুলি আসলে 32-বিট বাইনারি সংখ্যা যা চারটি অক্টেটে বিভক্ত। যখন আপনি 192.168.1.1 দেখেন এবং সাবনেট মাস্ক বুঝতে চান, আপনি বাইনারি সাথে কাজ করছেন। 192.168.1.50 এবং 192.168.1.200 কি একই /25 নেটওয়ার্কে আছে তা বাইনারি রূপান্তর ছাড়া বের করা প্রায় অসম্ভব। RFC 791 অনুসারে, IP ঠিকানাগুলি মৌলিকভাবে বাইনারি মান হিসাবে কাজ করে, যদিও আমরা সুবিধার জন্য সেগুলিকে দশমিকে লিখি।

ফাইল অনুমতি (ইউনিক্স/লিনাক্স)

সেই তিন-সংখ্যার অনুমতি কোড যেমন 755 বা 644? প্রত্যেক সংখ্যা আসলে অক্টাল (বেস-8) যা পরিষ্কারভাবে 3-বিট বাইনারি গ্রুপে রূপান্তর হয়। যখন আপনি অনুমতি 755 সেট করেন, আসলে আপনি বলছেন 111 101 101 বাইনারিতে—মালিকের জন্য পূর্ণ অনুমতি, গ্রুপের জন্য পড়া+চালানো, অন্যদের জন্য পড়া+চালানো। এই বাইনারি ভিত্তি বোঝা chmod অপারেশনগুলিকে স্মৃতিতে রাখার পরিবর্তে সহজবোধ্য করে তোলে।

উদাহরণ: IP ঠিকানা রূপান্তর

IPv4 ঠিকানা যেমন 192.168.1.1 বাইনারিতে এইভাবে প্রকাশ করা যেতে পারে:

  • 192 = 11000000
  • 168 = 10101000
  • 1 = 00000001
  • 1 = 00000001

সংযুক্ত: 11000000.10101000.00000001.00000001

অন্যান্য সংখ্যা সিস্টেম যাদের সাথে আপনি দেখা করবেন

বাইনারি এবং দশমিক একমাত্র খেলোয়াড় নয় কম্পিউটিংয়ে। এখানে অন্যান্য সংখ্যা সিস্টেম রয়েছে যাদের সাথে আপনি দেখা করবেন:

হেক্সাডেসিমাল (বেস-16)

হেক্স প্রোগ্রামিংয়ে সর্বত্র—মেমোরি ঠিকানা, রঙ কোড, অ্যাসেম্বলি ভাষা। এটি 0-9 সংখ্যা এবং A-F অক্ষর ব্যবহার করে। হেক্সের সৌন্দর্য হল যে প্রত্যেক সংখ্যা সঠিকভাবে 4 বাইনারি বিটের সাথে মিলে যায়, যা বাইনারি লেখার আরো পঠনীয় উপায় করে তোলে।

উদাহরণ: বাইনারি 1010 1101 = হেক্স AD (বনাম দশমিক 173)

যখন আপনি #FF5733 মতো রঙ কোড দেখেন, সেটি হেক্স—প্রত্যেক জোড়া লাল, সবুজ, এবং নীল মানগুলি প্রতিনিধিত্ব করে। FF (দশমিকে 255) মানে সর্বোচ্চ লাল তীব্রতা।

অক্টাল (বেস-8)

অক্টাল 0-7 সংখ্যা ব্যবহার করে, প্রত্যেক সংখ্যা সঠিকভাবে 3 বাইনারি বিট প্রতিনিধিত্ব করে। আজ কম ব্যবহৃত হলেও, আপনি এখনও ইউনিক্স ফাইল অনুমতি (chmod 755) এবং কখনও কখনও লিগ্যাসি সিস্টেমে দেখতে পান। এটি প্রাথমিক কম্পিউটিংয়ে জনপ্রিয় ছিল কারণ অনেক কম্পিউটার 3-এর গুণিতক আকারে শব্দ ব্যবহার করত।

উদাহরণ: বাইনারি 101 011 = অক্টাল 53

বাইনারি-কোডেড ডেসিমাল (BCD)

BCD প্রত্যেক দশমিক সংখ্যাকে তার নিজস্ব 4-বিট বাইনারি কোডে প্রতিনিধিত্ব করে। সম্পূর্ণ সংখ্যাটিকে রূপান্তর করার পরিবর্তে, আপনি প্রত্যেক সংখ্যাটিকে আলাদাভাবে রূপান্তর করেন। এটি জায়গা নষ্ট করে (আপনি 16টি সম্ভাব্য 4-বিট সংমিশ্রণের মধ্যে মাত্র 10টি ব্যবহার করেন) কিন্তু হার্ডওয়্যারে দশমিক পরিগণনাকে সহজ করে তোলে। আপনি BCD-কে ক্যালকুলেটর, ডিজিটাল ঘড়ি, এবং আর্থিক সিস্টেমগুলিতে পাবেন যেখানে দশমিক সঠিকতা গুরুত্বপূর্ণ।

উদাহরণ: দশমিক 42 BCD-তে = 0100 0010 (4 এবং 2 আলাদাভাবে এনকোড করা)

বাইনারি এবং দশমিক সংখ্যা পদ্ধতির ইতিহাস

আমরা কেন দশে গণনা করি

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

বাইনারির অপ্রত্যাশিত ইতিহাস

বাইনারি কম্পিউটারের আগে বহু শতাব্দী ধরে বিদ্যমান ছিল। আই চিং, একটি প্রাচীন চীনা গ্রন্থ প্রায় ১০০০ খ্রিস্টপূর্বে, ভাঙ্গা এবং অভাঙ্গা লাইনের পাটা ব্যবহার করত যা বাইনারি নোটেশনের সাথে অত্যন্ত মিল রাখে। কিন্তু আনুষ্ঠানিক বাইনারি পদ্ধতি ১৬৭৯ সালে গটফ্রাইড উইলহেল্ম লাইবনিজ তার "বাইনারি পদ্ধতির ব্যাখ্যা" প্রকাশ করার পর এল। লাইবনিজ বাইনারির সরলতায় মুগ্ধ ছিলেন—মাত্র দুটি চিহ্ন দিয়ে যেকোনো সংখ্যা উপস্থাপন করা যায়।

প্রকৃত যাদুটি ঘটল যখন জর্জ বুল ১৮৫৪ সালে বুলিয়ান বীজগণিত বিকশিত করলেন, বাইনারি সত্য/মিথ্যা মূল্য ব্যবহার করে যৌক্তিক পরিচালনা উপস্থাপন করলেন। তারপর এল গুরুত্বপূর্ণ সংযোগ: ১৯৩৭ সালে ক্লড শ্যানন তার মাস্টার্স থিসিসে প্রমাণ করলেন যে বুলিয়ান বীজগণিত বিদ্যুৎ সর্কিটের মাধ্যমে বাস্তবায়ন করা যায়। এই একটি অন্তর্দৃষ্টি প্রত্যেক ডিজিটাল কম্পিউটারের মৌলিক ভিত্তি রচনা করল।

কম্পিউটার বিপ্লব

জন আটানাসফ এবং ক্লিফোর্ড বেরি ১৯৩৯ সালে বাইনারি ব্যবহার করে প্রথম ইলেকট্রনিক ডিজিটাল কম্পিউটার ডিজাইন করেন। জন ভন নিউম্যান ১৯৪৫ সালে সংরক্ষিত-প্রোগ্রাম আর্কিটেকচার সাংগঠনিক করলেন, যেখানে ডেটা এবং নির্দেশাবলী উভয়ই বাইনারি কোড হিসাবে মেমরিতে বিদ্যমান—যা আজও আমরা ব্যবহার করি। ১৯৫৩ সালে, আইবিএম বাণিজ্যিক বাইনারি কম্পিউটার বিক্রি করছিল। ১৯৬৩ সালের ASCII মান শেষ পর্যন্ত আমাদের বাইনারিতে টেক্সট অক্ষর উপস্থাপনের একটি সংহত উপায় দিল।

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

ডেভেলপারদের জন্য বাইনারি থেকে দশমিক কোড উদাহরণ

নিজস্ব কোডে এই রূপান্তর বাস্তবায়ন করতে চান? এখানে বেশ কয়েকটি ভাষায় পরিষ্কার, উৎপাদন-প্রস্তুত বাস্তবায়ন রয়েছে। প্রত্যেকটিতে ইনপুট যাচাইকরণ রয়েছে কারণ ব্যবহারকারীরা অনিবার্যভাবে অবৈধ ডেটা পেস্ট করবে।

বেশিরভাগ আধুনিক ভাষায় এর জন্য বিল্ট-ইন ফাংশন রয়েছে—জাভাস্ক্রিপ্টে parseInt(str, 2), পাইথনে int(str, 2), জাভায় Integer.parseInt(str, 2). এই উদাহরণগুলি দেখায় বিল্ট-ইন ব্যবহার এবং রূপান্তর যুক্তি কীভাবে কাজ করে:

জাভাস্ক্রিপ্ট

1// বাইনারি থেকে দশমিক রূপান্তর
2function binaryToDecimal(binary) {
3  if (!/^[01]+$/.test(binary)) {
4    return "অবৈধ বাইনারি সংখ্যা";
5  }
6  return parseInt(binary, 2);
7}
8
9// দশমিক থেকে বাইনারি রূপান্তর
10function decimalToBinary(decimal) {
11  if (!/^\d+$/.test(decimal) || decimal < 0) {
12    return "অবৈধ দশমিক সংখ্যা";
13  }
14  return Number(decimal).toString(2);
15}
16
17// উদাহরণ ব্যবহার
18console.log(binaryToDecimal("1010")); // আউটপুট: 10
19console.log(decimalToBinary("42"));   // আউটপুট: 101010
20

পাইথন

1# বাইনারি থেকে দশমিক রূপান্তর
2def binary_to_decimal(binary):
3    try:
4        # ইনপুটে শুধুমাত্র 0 এবং 1 আছে কিনা পরীক্ষা করুন
5        if not all(bit in '01' for bit in binary):
6            return "অবৈধ বাইনারি সংখ্যা"
7        return int(binary, 2)
8    except ValueError:
9        return "অবৈধ বাইনারি সংখ্যা"
10
11# দশমিক থেকে বাইনারি রূপান্তর
12def decimal_to_binary(decimal):
13    try:
14        # ইনপুটটি একটি অ-ঋণাত্মক পূর্ণসংখ্যা কিনা পরীক্ষা করুন
15        decimal = int(decimal)
16        if decimal < 0:
17            return "অবৈধ দশমিক সংখ্যা"
18        return bin(decimal)[2:]  # '0b' উপসর্গ সরান
19    except ValueError:
20        return "অবৈধ দশমিক সংখ্যা"
21
22# উদাহরণ ব্যবহার
23print(binary_to_decimal("1010"))  # আউটপুট: 10
24print(decimal_to_binary("42"))    # আউটপুট: 101010
25

জাভা

1public class BinaryDecimalConverter {
2    // বাইনারি থেকে দশমিক রূপান্তর
3    public static int binaryToDecimal(String binary) {
4        if (!binary.matches("[01]+")) {
5            throw new IllegalArgumentException("অবৈধ বাইনারি সংখ্যা");
6        }
7        return Integer.parseInt(binary, 2);
8    }
9    
10    // দশমিক থেকে বাইনারি রূপান্তর
11    public static String decimalToBinary(int decimal) {
12        if (decimal < 0) {
13            throw new IllegalArgumentException("ঋণাত্মক সংখ্যা সমর্থিত নয়");
14        }
15        return Integer.toBinaryString(decimal);
16    }
17    
18    public static void main(String[] args) {
19        System.out.println(binaryToDecimal("1010"));  // আউটপুট: 10
20        System.out.println(decimalToBinary(42));      // আউটপুট: 101010
21    }
22}
23

C++

1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// বাইনারি থেকে দশমিক রূপান্তর
7int binaryToDecimal(const std::string& binary) {
8    // ইনপুটে শুধুমাত্র 0 এবং 1 আছে কিনা পরীক্ষা করুন
9    if (!std::regex_match(binary, std::regex("[01]+"))) {
10        throw std::invalid_argument("অবৈধ বাইনারি সংখ্যা");
11    }
12    
13    int decimal = 0;
14    for (int i = 0; i < binary.length(); i++) {
15        if (binary[binary.length() - 1 - i] == '1') {
16            decimal += std::pow(2, i);
17        }
18    }
19    return decimal;
20}
21
22// দশমিক থেকে বাইনারি রূপান্তর
23std::string decimalToBinary(int decimal) {
24    if (decimal < 0) {
25        throw std::invalid_argument("ঋণাত্মক সংখ্যা সমর্থিত নয়");
26    }
27    
28    if (decimal == 0) {
29        return "0";
30    }
31    
32    std::string binary = "";
33    while (decimal > 0) {
34        binary = (decimal % 2 == 0 ? "0" : "1") + binary;
35        decimal /= 2;
36    }
37    return binary;
38}
39
40int main() {
41    std::cout << binaryToDecimal("1010") << std::endl;  // আউটপুট: 10
42    std::cout << decimalToBinary(42) << std::endl;      // আউটপুট: 101010
43    return 0;
44}
45

এক্সেল

1' বাইনারি থেকে দশমিক রূপান্তর
2Function BinaryToDecimal(binary As String) As Variant
3    ' ইনপুটে শুধুমাত্র 0 এবং 1 আছে কিনা পরীক্ষা করুন
4    Dim i As Integer
5    For i = 1 To Len(binary)
6        If Mid(binary, i, 1) <> "0" And Mid(binary, i, 1) <> "1" Then
7            BinaryToDecimal = CVErr(xlErrValue)
8            Exit Function
9        End If
10    Next i
11    
12    BinaryToDecimal = Application.WorksheetFunction.Bin2Dec(binary)
13End Function
14
15' দশমিক থেকে বাইনারি রূপান্তর
16Function DecimalToBinary(decimal As Long) As String
17    If decimal < 0 Then
18        DecimalToBinary = CVErr(xlErrValue)
19        Exit Function
20    End If
21    
22    DecimalToBinary = Application.WorksheetFunction.Dec2Bin(decimal)
23End Function
24
25' সেলে ব্যবহারের উদাহরণ:
26' =BinaryToDecimal("1010")  ' ফলাফল: 10
27' =DecimalToBinary(42)      ' ফলাফল: 101010
28

বাইনারি থেকে দশমিক রূপান্তর সম্পর্কে সাধারণ প্রশ্নাবলী

বাইনারি সংখ্যা কী?

বাইনারি সংখ্যা শুধুমাত্র দুটি অঙ্ক—0 এবং 1—ব্যবহার করে মান প্রকাশ করে। প্রত্যেক অঙ্কটিকে বিট (বাইনারি অঙ্ক) বলা হয়। এটিকে একটি লাইট সুইচের মতো ভাবুন: এটি হয় বন্ধ (0) বা চালু (1)। যদিও এটি সীমাবদ্ধ মনে হয়, তবে আপনি পর্যাপ্ত বিট একত্রে করে যেকোনো সংখ্যা উপস্থাপন করতে পারেন, ঠিক যেভাবে আপনি শুধুমাত্র 26 অক্ষর ব্যবহার করে যেকোনো শব্দ লিখতে পারেন।

কেন কম্পিউটার দশমিক পরিবর্তে বাইনারি ব্যবহার করে?

এখানে ব্যবহারিক কারণ: দশটি বিভিন্ন ভোল্টেজ স্তরের (দশমিক জন্য) মধ্যে নির্ভরযোগ্যভাবে পার্থক্য করার ইলেক্ট্রনিক উপাদান তৈরি করা ব্যয়বহুল এবং ত্রুটিপূর্ণ। দুটি অবস্থা—উচ্চ ভোল্টেজ বনাম নিম্ন ভোল্টেজ, চুম্বকীয় বনাম অ-চুম্বকীয়—অনেক বেশি নির্ভরযোগ্য এবং তৈরি করতে সস্তা। ক্লড শ্যানন তাঁর ১৯৩৭ সালের মাস্টার্স থিসিসে প্রমাণ করেছেন যে বুলিয়ান যুক্তি (যা বাইনারি মানগুলি ব্যবহার করে) যেকোনো যৌক্তিক অপারেশন উপস্থাপন করতে পারে, আধুনিক ডিজিটাল সার্কিটের ভিত্তি স্থাপন করে। আপনি স্ট্যানফোর্ড এনসাইক্লোপিডিয়ার বুলিয়ান বিজ্ঞানের প্রবন্ধে বুলিয়ান বিজ্ঞানের মৌলিক বিষয়ে আরও পড়তে পারেন।

আমি কীভাবে ম্যানুয়ালি বাইনারি সংখ্যাকে দশমিকে রূপান্তর করব?

ম্যানুয়ালি বাইনারি সংখ্যাকে দশমিকে রূপান্তর করতে:

  1. বাইনারি সংখ্যাটি লিখুন
  2. প্রত্যেক অবস্থানকে ওজন দিন (ডান থেকে বাম: 1, 2, 4, 8, 16, ইত্যাদি)
  3. প্রত্যেক বাইনারি অঙ্কটিকে তার ওজন দ্বারা গুণ করুন
  4. সমস্ত ফলাফল যোগ করুন

উদাহরণ, বাইনারি 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

আমি কীভাবে ম্যানুয়ালি দশমিক সংখ্যাকে বাইনারিতে রূপান্তর করব?

ম্যানুয়ালি দশমিক সংখ্যাকে বাইনারিতে রূপান্তর করতে:

  1. দশমিক সংখ্যাটিকে 2 দ্বারা ভাগ করুন
  2. ভাগশেষ (0 বা 1) লিখুন
  3. ভাগফলকে 2 দ্বারা ভাগ করুন
  4. ভাগফল 0 হওয়া পর্যন্ত পুনরাবৃত্তি করুন
  5. ভাগশেষগুলিকে নিচ থেকে উপরে পড়ুন

উদাহরণ, দশমিক 13: 13 ÷ 2 = 6 ভাগশেষ 1 6 ÷ 2 = 3 ভাগশেষ 0 3 ÷ 2 = 1 ভাগশেষ 1 1 ÷ 2 = 0 ভাগশেষ 1 নিচ থেকে উপরে পড়ে: 1101

(বাকি অনুবাদ অব্যাহত...)

রেফারেন্স এবং আরও পড়ার জন্য তথ্য

  1. কনুথ, ডোনাল্ড ই. "কম্পিউটার প্রোগ্রামিংয়ের শিল্প, খণ্ড ২: সেমিনিউমেরিকাল অ্যালগরিদম।" অ্যাডিসন-ওয়েসলি, ১৯৯৭।

  2. শ্যানন, ক্লড ই. "রিলে এবং সুইচিং সার্কিটের সাংকেতিক বিশ্লেষণ।" আমেরিকান ইনস্টিটিউট অব ইলেকট্রিকাল ইঞ্জিনিয়ার্সের লেনদেন, খণ্ড ৫৭, নম্বর ১২, ১৯৩৮, পৃষ্ঠা ৭১৩-৭২৩। IEEE Xplore থেকে পাওয়া যাবে

  3. লাইবনিজ, গটফ্রিড উইলহেল্ম। "বাইনারি অঙ্কের ব্যাখ্যা"। রয়্যাল একাডেমি অব সাইন্সের স্মৃতিচারণ, ১৭০৩।

  4. বুল, জর্জ। "চিন্তার আইনের তদন্ত।" ডোভার পাবলিকেশন, ১৮৫৪ (পুনর্মুদ্রিত ১৯৫৮)।

  5. ইফরাহ, জর্জেস। "সংখ্যার সার্বজনীন ইতিহাস: প্রাগৈতিহাসিক থেকে কম্পিউটার আবিষ্কার পর্যন্ত।" উইলি, ২০০০।

  6. "POSIX.1-2017: chmod।" ওপেন গ্রুপ বেস স্পেসিফিকেশন। https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

  7. "RFC ৭৯১: ইন্টারনেট প্রোটোকল।" ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (IETF), ১৯৮১। https://tools.ietf.org/html/rfc791

  8. "Intel ৬৪ এবং IA-৩২ আর্কিটেকচার সফটওয়্যার ডেভেলপার ম্যানুয়াল।" Intel Corporation। https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

এখন রূপান্তর শুরু করুন

পৃষ্ঠার শীর্ষে থাকা রূপান্তরকারী দ্রুত উভয় দিকে রূপান্তর করে। আপনার সংখ্যা যেকোনো ক্ষেত্রে টাইপ করুন এবং সাথে সাথে ফলাফল এবং গাণিতিক ব্যাখ্যা দেখুন যা রূপান্তর প্রক্রিয়াটি সঠিকভাবে প্রদর্শন করে।

আপনি পাবেন:

  • বাইনারি এবং দশমিক সংখ্যার মধ্যে তাৎক্ষণিক রূপান্তর
  • রূপান্তর প্রক্রিয়ার দৃশ্য ব্যাখ্যা
  • ৫৩ বিট পর্যন্ত সংখ্যা সমর্থন (৯ কোয়াড্রিলিয়নের বেশি)
  • ফলাফল কপি করার এক ক্লিক
  • কোনো সাইন আপ নয়, কোনো খরচ নয়, যেকোনো ডিভাইসে কাজ করে

আপনি যদি নেটওয়ার্ক কনফিগারেশন ডিবাগ করছেন, ফাইল অনুমতি সেট করছেন, বা কম্পিউটার আর্কিটেকচার সম্পর্কে শিখছেন, বাইনারি-দশমিক রূপান্তর বোঝা একটি মৌলিক দক্ষতা। এই টুল এটিকে সহজ করে তুলেছে।