Decimal,Binary,Octal,Hexadecimal সংখ্যা রূপান্তর

{tocify} $title={Table of Contents}

আজকে আমরা জানবো পাইথন পোগ্রাম দিয়ে কি ভাবে সংখ্যা রূপান্তর করতে হয়পাইথন পোগ্রামদিয়ে সংখ্যা রূপান্তর করতে গেলে পাইথন  পোগ্রামে কিছু শর্ট কোড আছে সেই কোড গুলি ব্যবহার করে রূপান্তর করতে পারব বায়োনারি শর্ট কোড গুলো হলো 0b  {0 জিরো এবং ছোট হাতের বি b} 0B {0 জিরো এবং বড় হাতের বি B} এখানে ছোট হাতের বি {b} এবং বড় হাতের বি {B} একই চিহ্ন বলে বিবেচনা করে। তেমনি হেক্সাডেসিমেল সংখ্যা শর্ট কোড হল 0x {0 জিরো এবং ছোট হাতের এক্স x} আবার {0 জিরো এবং বড় হাতের এক্স X} এবং অক্টাল সংখ্যা কোলো 0o {0 জিরো এবং ছোট হাতের ও o} আবার {0জিরো এবং বড় হাতের ও O}

এখানে দেখবেন বাইনারি, অক্টাল এবং হেক্সাডেসিমেল নাম্বারে শর্ট কোড এর কথা বলা হয়েছে কিন্তু ডেসিমেল সংখ্যার শর্টকোড কথা বলা হয়নি এর কারন ডেসিমেল সংখ্যাটির শর্টকোড পাইথন ভাষায় নেই। যদি বাইনার, অক্টাল, হেক্সাডেসিমেল নাম্বারে থেকে ডেসিমাল নাম্বারে রূপান্তর করতে গেলে আমাদের int DataType ব্যাবহার করতে হবে। কারন ডেসিমাল সংখ্যার বেস হল 10 এর মানে 0 থেকে 9 পযন্ত যে সংখ্যাই লিখিনা কেন সেটি ডেসিমেল সংখ্যা নামে বিবেচিত হবে। এবং আপনি 0 থেকে 9 পযন্ত  যেই সংখ্যাটি লিখবেন সেটির টাইপ হবে int DataType।


নিচের ছবিটি দেখুন ছবিতে  বাইনারি,অক্টাল, হেক্সাডেসিমেল এবং ডেসিমেল সংখ্যার বেস এবং সংখ্যা দেওয়া হয়েছে।
 
Numbering System, Binary, Octal, Decimal, Hexadecimal

পাইথন প্রোগ্রাম দিয়ে ডেসিমেল নাম্বারে রূপান্তর

আমরা পাইথন প্রোগ্রামের সাহায্যে অক্টাল, বাইনারি এবং হেক্সাডেসিমেল নাম্বার থেকে ডেসিমাল নাম্বার এ রূপান্তর করব তার জন্য আমাদের একটি প্রোগ্রাম লিখতে হবে প্রোগ্রামটি হল-


a=0o17  #Octal Number
b=ob1110010  #Binary Number
c=0x1c2  #Hexadecimal Number
print(int(a))
print(int(b))
print(int(c)){codeBox}


#Output This Code
15 #Variable a output
114 #Variable b output 
450 #Variable c output{codeBox} 


এই কোডটির উদাহরণ হল প্রথমে আমরা তিনটি ভেরিয়েবল তৈরি করলাম a, b, c নাম দিয়ে a ভেরিয়েবলে অক্টাল নাম্বার য়ুক্ত করলাম। আক্টাল নাম্বারে শর্ট কোড ব্যাবহার করে {0o} তেমনি বায়োনারি এবং হেক্সাডেসিমেল নাম্বার য়ুক্ত করলাম। b ভেরিয়েবলে বাইনারি নাম্বার এবং c ভেরিয়েবলে হেক্সাডেসিমেল নাম্বার {0x} এখন আমরা print ফাংশন ব্যাবহার করে a ভেরিয়েবল দিয়ে int type বের করলাম এবং সেটেই ডেসিমাল নাম্বার। 

ডেসিমাল নাম্বার যদি {জিরু{0} থেকে {9}নয়} ভ্যালু না থাকতো তাহলে int type ব্যবহার করে ডেসিমাল নাম্বার কনভার্ট হতো না।{alertInfo}

তেমনি আমরা b ভেরিয়েবলের বাইনারি নাম্বার এবং c ভেরিয়েবলে হেক্সাডেসিমেল নাম্বার int type ব্যবহার করে ডেসিমেলে রূপান্তর করলাম। 

পাইথন প্রোগ্রাম দিয়ে ডেসিমেল নাম্বার রূপান্তর #পদ্ধতি 2

প্রথম ডেসিমাল নাম্বার রূপান্তর পদ্ধতিতে আমরা বাইনারি, অক্টাল  এবং হেক্সাডেসিমেল এর শর্ট কোড {ob, 0o, 0x}  ব্যবহার করে ডেসিমেল নাম্বারে রূপান্তর করেছি এবার আমরা স্টিরিং {string} পদ্ধতি এবং নাম্বার সিস্টেমের বেস ব্যবহার করে ডেসিমেল নাম্বারে রূপান্তর করবো তার জন্য আমাদের একটি কোড লিখতে হবে


z="1c2" #String z contains a Hexadecimal Number
print(int(z,16)){codeBox}


#Output This Code
 450 #Variable z output{codeBox} 

এই কোডটির উদাহরণ হলো প্রথমে আমরা একটি ভেরিয়েবল তৈরি করলাম z নাম দিয়ে এবং এটিকে স্ট্রিং {string} করে দিয়ে হেক্সাডেসিমেল নাম্বার লিখলাম। স্ট্রিং {string} হল কোন ভেরিয়েবলে যে ডাটা আছে সেটিকে প্রিন্ট ফাংশন {print funcation} ব্যবহার করে যেমন আছে তেমোনি প্রিন্ট করা। কিন্তু আমরা এখানে হেক্সাডেসিমেল নাম্বার থেকে ডেসিমাল নাম্বারে রুপান্তর হবে কারণ স্ট্রিং {string} এর কাজ হলো যেমন আছে তেমোনি প্রিন্ট করা। আমরা য়দি যেমন আছে তেমোনি প্রিন্ট করি তাহলে তো হেক্সাডেসিমেল নাম্বার প্রিন্ট হয়ে যাবে। এই হেক্সাডেসিমেল নাম্বার যেমন আছে তেমোনি প্রিন্ট যেন না হয় তার জন্য আমাদের নাম্বার সিস্টেমের বেস ব্যবহার করতে হবে। এই নাম্বার সিস্টেমের বেস ব্যবহার করলেই সেটি ডেসিমেল নাম্বারে রূপান্তর হয়ে যাবে

একটি কথা মাথায় রাখতে হবে ভেরিয়েবল স্ট্রিং {string} যদি অক্টাল নাম্বার যুক্ত করো তাহলে অক্টাল নাম্বারের বে ব্যবহার করতে হবে যেই নাম্বার সিস্টেম ভেরিয়েবলে বসবে সেই নাম্বার সিস্টেমের বেস ব্যাবোহার করতে হবে ডেসিমেল নাম্বারে রূপান্তর করার জন্য{alertInfo}


আরো ভালো করে বুঝতে নিচের কোটি দেখো

s1="17" #Octal
s2="1110010" #Binary 
s3="1c2" #Hexadecimal
print(int(s1,8))
print(int(s2,2))
print(int(s3,16)){codeBox}


#Output This Code
15 # Variable s1 output
114 #Variable s2 output
450 #Variable s3 output{codeBox}

আমরা দেখলাম দুটি ভাগে ডেসিমাল নাম্বার কনভার্ট করার পদ্ধতি
। 

ডেসিমাল নাম্বার থেকে অক্টাল, বায়োনারি এবং হেক্সাডেসিমেল নাম্বারে রূপান্তর

এখন আমরা দেখব বাইনারি, অক্টাল, হেক্সাডেসিমেল নাম্বার কিভাবে কনভার্ট করতে হয় তার জন্য আমাদের টি কোড লিখতে হবে এই কোডটি তে আমরা ডেসিমাল নাম্বার থেকে অক্টাল, বায়োনারি এবং হেক্সাডেসিমেল নাম্বারে রূপান্তর করবো


a=5123989 #Decimal Number 
print(bin(a))
print(oct(a))
print(hex(a)){codeBox}

 

#Output This Code
0b10011100010111110010101#Binary Output
0o23427625 #Octal Output
0x4e2f95 #Hexadecimal Output{codeBox}

এই কোডটির উদাহরণ হল প্রথমে আমরা a ভেরিয়েবল তৈরি করলাম এবং a ভেরিয়েবলে ডেসিমেল নাম্বার যুক্ত করলাম এই ডেসিমেল থেকে বাইনারি, অক্টাল, হেক্সাডেসিমেল নাম্বারে রূপান্তর করতে কিছু শর্ট কোড ব্যবহার করেছি যেমন- বাইনারি জন্য {bin} অক্টাল এর জন্য {oct}  এবং হেক্সাডেসিমেলের জন্য {hex}ই  শর্ট কোডএর জন্য আমরা ডেসিমেল থেকে অন্য সব নাম্বার সিস্টেমে কনভার্ট করতে পেরেছি


অক্টাল থেকে বাইনারি, ডেসিমাল,হেক্সাডেসিমে কনভার্ট

অক্টাল থেকে বাইনারি, ডেসিমেল এবং হেক্সাডেসিমে নাম্বারে কনভার্ট করতে গেলে আমাদের আরেকটি কোড লিখতে হবে কোডটি হলো-

a=0o17543 #Octal Number
print(bin(a))
print(int(a))
print(hex(a))
{codeBox}

 

#Output This Code
0b1111101100011 #Binary  output
8035 #Decimal Output
0x1f63 #Hexadecimal Output{codeBox}
 
এইকোডটিতে আমরা a ভেরিয়েবল তৈরি করে তাতে অক্টাল নাম্বার শর্ট কোড  ব্যবহার করে অক্টাল নাম্বার লিখলাম এই শর্ট কোড হল {0 জিরো এবং ছোট বা বড় হাতের o} এই জিরো 0 এবং ছোট বা বড়  হাতের o লিখে কম্পিউটারকে বোঝালাম এটি অক্টাল নাম্বার এঅক্টাল নাম্বারটিকে কনভার্ট করো বাইনারি {bin}, ডেসিমেল {int} হেক্সাডেসিমে
ল {hex} নাম্বারে।

বাইনারি থেকে অক্টাল, ডেসিমেল এবং হেক্সাডেসিমেল কনভার্ট

a=0b111001010011 #Binary Number
print(oct(a))
print(int(a))
print(hex(a))
{codeBox}

 

#Output This Code
0o7123 #Octal Output
3667 #Decimal Output
0xe53 #Hexadecimal Output{codeBox}
 

এই কোডটি আমরা অক্টাল নাম্বারের মতোই শর্টকোড ব্যবহার করে বাইনারি নাম্বার কে চিহ্নিত করলাম যে এটি একটি বাইনারি নাম্বার এবং এই a ভেরিয়েবলে বাইনারি নাম্বার কে কনভার্ট করলাম অক্টাল {oct} ডেসিমেল{int} এবং হেক্সাডেসিমেল{hex} নাম্বারে

হেক্সাডেসিমেল থেকে বাইনারি,অক্টাল এবং ডেসিমেল কনভার্ট

a=0x123c25 #Hexadecimal Number 
print(bin(a))
print(oct(a))
print(int(a))
{codeBox}

 

#Output This Code
0b100100011110000100101 #Binary Output
0o4436045 #Octal Output
1195045 #Decimal Output{codeBox}

এই কোডটিতেও আগের মতই ভেরিয়েবল তৈরি করে ox কোড ব্যবহার করে এটিকে চিহ্নিত করলাম যে এটি হেক্সাডেসিমেল নাম্বার এবং এটিকে বাইনারি {bin} অক্টাল{oct} ডেসিমেল{int} কোড ব্যবহার করে হেক্সাডেসিমেল নাম্বারটিকে রূপান্তর করলাম

একটি বিষয় লক্ষ করে দেখবেন ডেসিমেল নাম্বারে রূপান্তর কোরতে আমরা দুটি ভাগে দেখিয়েছি একটি শর্টকোড যেমন বাইনারি {0 জিরো এবং ছোট বা বড় হাতের b} অক্টাল {0 জিরো এবং ছোট বা বড় হাতের ও o}হেক্সাডেসিমেল {0 জিরো এবং ছোট বা বড় হাতের x} এই শর্ট কোড ব্যবহার করে আরেকটি স্ট্রিং {string} এবং বেস যেমন বাইনারি বেস 2, অক্টাল বেস 8 এবং হেক্সাডেসিমেল বেস 16 দিয়ে দেখিয়েছে কিন্তু বাইনারি থেকে অক্টাল হেক্সাডেসিমেল রুপান্তর করতে একটি পদ্ধতি দেখিয়েছি কারণ এই স্ট্রিং{string} বা বেস পদ্ধতি দিয়ে রূপান্তর করা এটি শুধু ডেসিমেল নাম্বারে রূপান্তর করা যাবে অন্য কোন নাম্বারে রূপান্তর করা যাবে না অন্য কোন নাম্বারে রুপান্তর করতে গেলে আমাদের ডেসিমেল নাম্বার কনভার্টিং প্রথম পদ্ধতি ব্যবহার করতে হবে।{alertInfo}

নবীনতর পূর্বতন