PHP তে Number System কি ?

number system

Zend Certified PHP Engineering (ZCPE) Course

PHP তে Number System কি ?

PHP অথবা যেকোনো Programming Language এ Numbering system হচ্ছে , আমাদের দৈনন্দিন ব্যবহৃত number গুলোকে সর্বোচ্চ সংখ্যা বা base এবং অনুমোদিত নম্বর গুলোর এর উপর ভিত্তি করে বিভিন্ন গ্রূপ এ ভাগ করে প্রদর্শন বা represent করার উপায়।

PHP তে Numbering System কয় প্রকার?

PHP তে Number System ৪ প্রকার:

Numbering System নাম সর্বোচ্চ সংখ্যা বা Base অনুমোদিত Numbers
Binary Base 2 0,1
Octal Base 8 0,1,2,3,4,5,6,7
Decimal Base 10 0,1,2,3,4,5,6,7,8,9
Hexadecimal Base 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F (A=10, B=11, C=12, D=13, E=14, F=15)

Zend Certified PHP Engineering (ZCPE) Course

Binary Number System এবং Bit কি ?

binary number in php

Binary অর্থ দুই (২), অর্থাৎ এটি এমন একটি Numbering System যাতে সকল Number কে কেবলমাত্র 0 এবং 1 দিয়ে প্রকাশ করা হয়। মোট কথা, যেহেতু এতে 0 আর 1 এই দুটি ডিজিট ব্যবহার করা হয় তাই একে Binary Numbering System বলে। এই দুইটা Number অর্থাৎ 0 এবং 1 ব্যবহার করেই কম্পিউটারের সকল তথ্য প্রক্রিয়া করণ করে, গাণিতিক সমস্যা সমাধান করে, তথ্য সঞ্চয় করে রাখে অর্থাৎ সকল প্রকার কার্য সম্পাদন করে থাকে। আমরা যখন কোন প্রোগাম কম্পিউটারে লিখে এক্সিকিউট করি তখন কম্পিউটার সমস্ত কমান্ডকে 0 এবং 1 এ রূপান্তরিত করে প্রসেস করে থাকে। Binary Numbering System এর ভিত্তি দুই (2)। বাইনারি পদ্ধতিতে প্রতিটি Number কে বিট বলা হয়।

Octal Number System কি ?

Octal অর্থ অষ্টক বা 8, অর্থাৎ এটি এমন একটি Numbering System যাতে সকল Number কে কেবলমাত্র 0 থেকে 7 দিয়ে প্রকাশ করা হয়। মোট কথা, যেহেতু এতে 0 থেকে 7 এই আটটি ডিজিট ব্যবহার করা হয় তাই একে Octal Numbering System বলে। এইটা মূলত বাইনারি নম্বর গুলোকে তিনটি digit এ group করে (যেমন :000,001,010,011,100,101,110,111) কম্পিউটারের বিভিন্ন রকমের তথ্য প্রক্রিয়া করণ করে, গাণিতিক সমস্যা সমাধান করে, তথ্য সঞ্চয় করে রাখে অর্থাৎ বিভিন্ন কার্য সম্পাদন করে থাকে। Octal Numbering System এর ভিত্তি আট (৮)।

Decimal Number System কি ?

Decimal অর্থ দশমিক বা 10, অর্থাৎ এটি এমন একটি Numbering System যাতে সকল Number কে কেবলমাত্র 0 থেকে 9 দিয়ে প্রকাশ করা হয়। মোট কথা, যেহেতু এতে 0,1,2,3,4,5,6,7,8,9 এই ১০ টি ডিজিট ব্যবহার করা হয় তাই একে Decimal Numbering System বলে। এইটা মূলত আমাদের দৈনন্দিন জীবনে বিভিন্ন রকমের তথ্য প্রক্রিয়া করণ করে, গাণিতিক সমস্যা সমাধান করে অর্থাৎ বিভিন্ন কার্য সম্পাদন করে থাকে। Decimal Numbering System এর ভিত্তি দশ (১০)।

Hexadecimal Number System কি ?

Hexa Decimal অর্থ ষোলো বা 16, অর্থাৎ এটি এমন একটি Numbering System যাতে সকল Number কে কেবলমাত্র 0 থেকে 15 দিয়ে প্রকাশ করা হয়। এই পদ্ধতিতে ষোলোটি সংখ্যা হলো 0,1,2,3,4,5,6,7,8,9 এবং 10=A,11=B,12=C,13=D,14=E,15=F মোট কথা, যেহেতু এতে 0 থেকে 15 এই ১৬ টি ডিজিট ব্যবহার করা হয় তাই একে Hexadecimal Numbering System বলে। এইটা মূলত বাইনারি নম্বর গুলোকে চারটি digit এ group (যেমন :0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111) করে কম্পিউটারের বিভিন্ন রকমের তথ্য প্রক্রিয়া করণ করে, গাণিতিক সমস্যা সমাধান করে, তথ্য সঞ্চয় করে রাখে অর্থাৎ বিভিন্ন কার্য সম্পাদন করে থাকে। Hexadecimal Numbering System এর ভিত্তি দশ (১৬)।

কিভাবে Decimal কে Binary এবং Binary কে Decimal Number এ রূপান্তর করা যায়?

Decimal Number কে Binary Number এ রূপান্তর করার নিয়ম :

  • যে সংখ্যাকে বাইনারি তে রুপান্তর করতে হবে সেটাকে ২ দিয়ে ভাগ করতে হবে
  • ভাগশেষ যা হবে তা নিতে হবে, যদি ০ হয় তাও নিতে হবে
  • যে ভাগফল আসবে সেটাকে আবার ২ দিয়ে ভাগ করতে হবে
  • ভাগশেষ যা হবে তা নিতে হবে, যদি ০ হয় তাও নিতে হবে
  • যে ভাগফল আসবে সেটাকে আবার ২ দিয়ে ভাগ করতে হবে
  • ভাগশেষ যা হবে তা নিতে হবে, যদি ০ হয় তাও নিতে হবে
  • এভাবে ভাগফল ১ না আসা পর্যন্ত ২ দিয়ে ভাগ করতে হবে
  • ভাগফল ১ পেয়ে গেলে বাইনারি সংখ্যা হবে ১ এবং নিচ থেকে উপরের দিকে সব ভাগশেষগুলো পাশাপাশি বসে গঠিত সংখ্যা।

উদাহরণ ১: 16 কে Binary তে রুপান্তর

    16 ÷ 2 = 8 ; ভাগশেষ 0
    8 ÷ 2 = 4 ; ভাগশেষ 0
    4 ÷2 = 2; ভাগশেষ 0
    2 ÷ 2 = 1; ভাগশেষ 0

16 এর ক্ষেত্রে বাইনারি সংখ্যা = 10000

উদাহরণ ২ঃ 17 কে Binary তে রুপান্তর

  • 17 ÷ 2 = 8 ; ভাগশেষ 1
  • 8 ÷ 2 = 4 ; ভাগশেষ 0
  • 4 ÷2 = 2; ভাগশেষ 0
  • 2 ÷ 2 = 1; ভাগশেষ 0

17 এর ক্ষেত্রে Binary সংখ্যা = 10001

Binary Number থেকে Decimal Number এ রুপান্তরঃ

  • Binary Number এর ডান দিক থেকে বাম দিকের বিট গুলিকে তাদের স্থানীয় মান দ্বারা গুন করতে হবে।
  • এরপর গুণফল গুলো যোগ করলে যে সংখ্যা হবে তা ডেসিমেল সংখ্যা।

উদাহরণঃ 10001 কে Decimal Number রুপান্তর

  • 1 × 1 = 1
  • 0 × 2 = 0
  • 0 × 4 = 0
  • 0 × 8 = 0
  • 1 × 16 = 16

Decimal Number= 1+0+0+0+16= 17

কিভাবে Decimal কে Octal এবং Octal কে Decimal Number এ রূপান্তর করা যায়?

Decimal Number কে Octal Number এ রূপান্তর করার নিয়ম :

  • যে সংখ্যাকে Octal এ রুপান্তর করতে হবে সেটাকে 8 দিয়ে ভাগ করতে হবে
  • ভাগশেষ যা হবে তা নিতে হবে, যদি 0 হয় তাও নিতে হবে
  • যে ভাগফল আসবে সেটাকে আবার 8 দিয়ে ভাগ করতে হবে
  • এভাবে ভাগশেষ 7 অথবা তার চেয়ে কম যেকোনো সংখ্যা না আশা পর্যন্ত 8 দিয়ে ভাগ করতে হবে
  • ভাগশেষ 7 অথবা তার চেয়ে কম যেকোনো সংখ্যা পেয়ে গেলে Octal Number গুলো হবে সর্বশেষ ভাগফল এবং নিচ থেকে উপরের দিকে সব ভাগশেষগুলো পাশাপাশি বসে গঠিত সংখ্যা।

উদাহরণ ১: 139 কে Octal এ রুপান্তর

    139 ÷ 8 = 17 ; ভাগশেষ 3
    17 ÷ 8 = 2 ; ভাগশেষ 1

139 এর ক্ষেত্রে Octal সংখ্যা = 213

Octal Number থেকে Decimal Number এ রুপান্তরঃ

  • Octal Number এর ডান দিক থেকে বাম দিকের বিট গুলিকে 8 এর স্থানীয় মান দ্বারা গুন করতে হবে।
  • এরপর গুণফল গুলো যোগ করলে যে সংখ্যা হবে তা ডেসিমেল সংখ্যা।

উদাহরণঃ 213 Octal Number কে Decimal Number রুপান্তর

Octal 213=(2*82)+(1*81)+(3*80)=2*64+1*8+3*1

Octal Number: 213= 128+8+3 =139 Decimal

Zend Certified PHP Engineering (ZCPE) Course

কিভাবে Decimal কে Hexadecimal এবং Hexadecimal কে Decimal Number এ রূপান্তর করা যায়?

Decimal Number কে Hexadecimal Number এ রূপান্তর করার নিয়ম :

  • যে সংখ্যাকে Hexadecimal এ রুপান্তর করতে হবে সেটাকে 16 দিয়ে ভাগ করতে হবে
  • ভাগশেষ যা হবে তা নিতে হবে, যদি 0 হয় তাও নিতে হবে
  • যে ভাগফল আসবে সেটাকে আবার 16 দিয়ে ভাগ করতে হবে
  • এভাবে ভাগশেষ 15 অথবা তার চেয়ে কম যেকোনো সংখ্যা না আশা পর্যন্ত 8 দিয়ে ভাগ করতে হবে
  • ভাগশেষ 15 অথবা তার চেয়ে কম যেকোনো সংখ্যা পেয়ে গেলে Octal Number গুলো হবে সর্বশেষ ভাগফল এবং নিচ থেকে উপরের দিকে সব ভাগশেষগুলো পাশাপাশি বসে গঠিত সংখ্যা। তবে 0-9 এর পরের সংখ্যা গুলো যথাক্রমে 10=A,11=B,12=C,13=D,14=E,15=F বসাতে হবে।

উদাহরণ ১: 17 কে Hexadecimal এ রুপান্তর

    17 ÷ 16 = 1 ; ভাগশেষ 1

17 এর ক্ষেত্রে Hexadecimal সংখ্যা = 11

Hexadecimal Number থেকে Decimal Number এ রুপান্তরঃ

  • Hexadecimal Number এর ডান দিক থেকে বাম দিকের বিট গুলিকে 16 এর স্থানীয় মান দ্বারা গুন করতে হবে।
  • এরপর গুণফল গুলো যোগ করলে যে সংখ্যা হবে তা ডেসিমেল সংখ্যা।

উদাহরণঃ 11 অথবা C Hexadecimal Number কে Decimal Number রুপান্তর

Hexadecimal 11=B=(1*161)+(1*160)=1*16+1*1

Hexadecimal Number: 11=B= 16+1 =17 Decimal

Zend Certified PHP Engineering (ZCPE) Course

PHP তে Binary, Octal, Decimal, Hexadecimal number লেখার আলাদা কোনো নিয়ম আছে?

হ্যাঁ, PHP তে প্রত্যেকটি Numbering System এর ই লেখার আলাদা নিয়ম আছে। নিচের Table টি লক্ষ্য করুন :

Number System নাম লেখার নিয়ম উদাহরণ
Binary PHP তে Binary Number লেখার আগে 0b (zero with b) জুড়ে দিতে হয় এবং number range 0-1 এর মধ্যে হতে হয়। 0b01,0b10,0b11
Octal PHP তে Octal Number লেখার আগে 0 (zero) জুড়ে দিতে হয় এবং number range 0-7 এর মধ্যে হতে হয়। 01, 02, 03, 04, 05, 06, 07
Decimal PHP তে 0-9 এর মধ্যে সব গুলো number ই Decimal Number হিসাবে পরিগণিত হয়। 0,1,2,3,4,5,6,7,8,9
Hexadecimal PHP তে Hexadecimal Number লেখার আগে 0x (zero with x) জুড়ে দিতে হয় এবং number range 0-15 এর মধ্যে হতে হয়। 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF (A=10, B=11, C=12, D=13, E=14, F=15)

একটি উদাহরণ :

<?php
echo 11+011+0b11+0x11; // Output: 40; but why?

ব্যাখ্যা: উপরের উদাহরণে লক্ষ্য করুন , প্রথম সংখ্যা 11 টি Decimal তারপর 011 number টি 0 দিয়ে শুরু হওয়ার কারণে Octal যার decimal মান “(1*81)+(1*80)=9″ 9 তারপর 0b11 number টি 0b দিয়ে শুরু হওয়ায় এটি Binary যার Decimal মান “(1*21)+(1*20)=3″ 3 সর্বশেষ 0x11 number টি 0x দিয়ে শুরু হওয়ায় এটি Hexadecimal যার Decimal মান “(1*161)+(1*160)=17″ 17. সুতরাং ফলাফল দাঁড়ালো (11+9+3+17=40)

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

3 thoughts on “PHP তে Number System কি ?

Leave a Reply