ഉള്ളടക്കത്തിലേക്ക് പോകുക

ബൈനറി മുതൽ ദശാംശ കണക്കാക്കി | സൗജന്യ ഓൺലൈൻ ഉപകരണം

ബൈനറി മുതൽ ദശാംശത്തിലേക്ക് ഉടനടി പരിവർത്തനം ചെയ്യുക. വികസിപ്പിക്കുന്നവർക്കും വിദ്യാർഥികൾക്കുമുള്ള ഘട്ടം തിരിച്ചുള്ള വിശദീകരണങ്ങൾ, കോഡ് ഉദാഹരണങ്ങൾ, പ്രാവർത്തിക ഉപയോഗ കേസുകൾ സഹിതം സൗജന്യ ഉപകരണം.

ബൈനറി-ഡെസിമൽ കൺവർട്ടർ

ബൈനറി മാനവും ഡെസിമൽ മാനവും തൽക്ഷണം പരിവർത്തനം ചെയ്യുക.

ബൈനറി നമ്പറുകൾ 0 മാത്രം ഉപയോഗിക്കുന്നു

ഡെസിമൽ നമ്പറുകൾ 0-9 വരെയുള്ള അക്കങ്ങൾ ഉപയോഗിക്കുന്നു

മറ്റൊരു ഫീൽഡിൽ പരിവർത്തനം കാണുന്നതിന് ഏതെങ്കിലും ഒരു ഫീൽഡിൽ മൂല്യം നൽകുക.

ലോഡിംഗ് കാൽക്യുലേറ്റർ...
📚

വിവരണം

ബൈനറി മുതൽ ഡെസിമൽ കൺവർട്ടർ: നമ്പർ സിസ്റ്റങ്ങൾ തൽക്ഷണം കൺവർട്ട് ചെയ്യുക

1കളുടെയും 0കളുടെയും ഒരു വരിയെ നോക്കി, അവ യഥാർഥത്തിൽ എന്ത് നമ്പർ പ്രതിനിധാനം ചെയ്യുന്നു എന്ന് ആലോചിച്ചിട്ടുണ്ടോ? നിങ്ങൾ കമ്പ്യൂട്ടറുമായി ഏതെങ്കിലും തലത്തിൽ പ്രവർത്തിക്കുന്നുവെങ്കിൽ—നെറ്റ്വർക്ക് പ്രശ്നങ്ങൾ ഡീബഗ് ചെയ്യുന്നതിൽ നിന്ന്, മൈക്രോകൺട്രോളർ പ്രോഗ്രാമിംഗ് വരെ, അല്ലെങ്കിൽ കമ്പ്യൂട്ടർ എങ്ങനെ ചിന്തിക്കുന്നു എന്ന് കൗതുകം കൊണ്ട്—നിങ്ങൾ അവസാനം ബൈനറിയിൽ നിന്ന് ഡെസിമലിലേക്ക് കൺവർട്ട് ചെയ്യേണ്ടി വരും.

ഈ ഉപകരണം രണ്ട് ദിശകളിലും കൺവർഷൻ തൽക്ഷണം നിർവഹിക്കുന്നു. നിങ്ങളുടെ നമ്പർ ഏതെങ്കിലും ഫീൽഡിൽ ടൈപ്പ് ചെയ്യുക, കൺവർഷൻ എങ്ങനെ സംഭവിക്കുന്നുവെന്ന് കാണുക. കൂടുതൽ പ്രധാനമായി, എങ്ങനെ കൺവർഷൻ നടക്കുന്നുവെന്ന് നിങ്ങൾ കാണുകയും ചെയ്യും, ഇത് നിങ്ങളുടെ കോഡിന്റെ അടിസ്ഥാനത്തിൽ എന്ത് സംഭവിക്കുന്നുവെന്ന് മനസ്സിലാക്കുന്നതിൽ പ്രധാനമാണ്.

ബൈനറി-ഡെസിമൽ കൺവർഷൻ കഠിനമാക്കുന്ന കാര്യം: നമ്ുടെ മസ്തിഷ്കം ബേസ്-10 (ഞങ്ങൾക്ക് പത്ത് വിരലുകൾ ഉണ്ട്) ക്ക് വയർഡ് ചെയ്യപ്പെട്ടിരിക്കുന്നു, പക്ഷേ കമ്പ്യൂട്ടറുകൾ വിശേഷിച്ച് ബേസ്-2 ൽ പ്രവർത്തിക്കുന്നു. ഏതൊരു ഡാറ്റയും—വാക്ക്, ചിത്രങ്ങൾ, വീഡിയോകൾ, നിങ്ങളുടെ ബ്രൗസിംഗ് ഹിസ്റ്ററി—അവസാനം 0കളുടെയും 1കളുടെയും ശ്രേണികളിലേക്ക് തരംതിരിയുന്നു. ഈ ബന്ധം മനസ്സിലാക്കുന്നത് വെറുമൊരു അക്കാദമിക് കാര്യം മാത്രമല്ല; IP വിലാസങ്ങൾ, ഫയൽ അനുമതികൾ, ബിറ്റ്വൈസ് പ്രവർത്തനങ്ങൾ, മെമ്മറി വിലാസങ്ങൾ എന്നിവയുമായി പ്രവർത്തിക്കുമ്പോൾ പ്രാവർത്തിക ജ്ഞാനമാണ്.

നല്ല വാർത്ത? ഒരിക്കൽ മാതൃക മനസ്സിലാക്കിയാൽ, കൺവർഷനുകൾ ലളിതമാകുന്നു. ഗണിതം ലളിതമാണ്—വിഭജനം മാത്രം മൂലം മൂലം മൂലം (അഥവാ വിപരീത ദിശയിൽ). ആളുകളെ ബുദ്ധിമുട്ടിക്കുന്നത് സ്ഥാന മൂല്യങ്ങൾ ട്രാക്ക് ചെയ്യുന്നതാണ്, പ്രത്യേകിച്ച് നീളമുള്ള നമ്പറുകളിൽ. ഇതാണ് ഈ കൺവർട്ടർ പരിഹരിക്കുന്നത്.

ബൈനറി മുതൽ ഡെസിമൽ വരെയും, ഡെസിമൽ മുതൽ ബൈനറി വരെയും പരിവർത്തനം ചെയ്യുന്ന വിധം

ഡെസിമൽ സിസ്റ്റം (ബേസ്-10) മനസ്സിലാക്കൽ

നിങ്ങൾക്ക് ഡെസിമൽ ഇതിനകം അറിയാം—അത് നിങ്ങൾ പ്രാഥമിക സ്കൂളിൽ പഠിച്ചതാണ്. നാം പത്ത് അക്കങ്ങൾ (0-9) ഉപയോഗിക്കുന്നു, കൂടാതെ ഓരോ സ്ഥാനവും 10 ന്റെ ഘാതത്തെ പ്രതിനിധീകരിക്കുന്നു:

ഡെസിമൽ നമ്പർ=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

427 നമ്പർ എടുക്കുക. സ്ഥാനം അനുസരിച്ച് തിരിച്ചുകാണുക:

  • 4 × 10² = 400 (നൂറുകളുടെ സ്ഥാനം)
  • 2 × 10¹ = 20 (പത്തുകളുടെ സ്ഥാനം)
  • 7 × 10⁰ = 7 (ഒന്നുകളുടെ സ്ഥാനം)

ഈ മൂല്യങ്ങൾ കൂട്ടുക: 400 + 20 + 7 = 427

ഈ സ്ഥാന നിലയിലുള്ള അടയാളപ്പെടുത്തൽ നാം സ്വാഭാവികമായി കരുതുന്നു, പക്ഷേ ഇത് ഒരു വിപ്ലവകരമായ കണ്ടുപിടിത്തമായിരുന്നു. സ്ഥാന സിസ്റ്റത്തിനു മുൻപ്, അരിഥ്മറ്റിക് അത്യന്തം ബുദ്ധിമുട്ടായിരുന്നു (റോമൻ അക്കങ്ങൾ ഉപയോഗിച്ച് ഒരിക്കൽ വർദ്ധിപ്പിക്കുന്നതിനെ പരിശോധിക്കുക).

ബൈനറി സിസ്റ്റം (ബേസ്-2) മനസ്സിലാക്കൽ

ബൈനറി ഡെസിമൽ പോലെ തന്നെ പ്രവർത്തിക്കുന്നു, 10 ന്റെ ഘാതത്തിനു പകരം 2 ന്റെ ഘാതം ഉപയോഗിക്കുന്നു. നിങ്ങൾക്ക് രണ്ട് അക്കങ്ങൾ മാത്രമേ ഉള്ളൂ—0 കൂടാതെ 1:

ബൈനറി നമ്പർ=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

1010 ബൈനറി നമ്പർ എടുക്കുക. വലത്തുനിന്ന് ഇടത്തേക്ക് ഓരോ സ്ഥാനവും 1, 2, 4, 8, 16, മുതലായവ പ്രതിനിധീകരിക്കുന്നു:

  • 1 × 2³ = 8
  • 0 × 2² = 0
  • 1 × 2¹ = 2
  • 0 × 2⁰ = 0

ഈ മൂല്യങ്ങൾ കൂട്ടുക: 8 + 0 + 2 + 0 = 10 ഡെസിമലിൽ

പാറ്റേൺ ഡെസിമലിനോടു തുല്യമാണ്, വ്യത്യസ്ത ബേസിൽ മാത്രം. ഇതിനെ ആന്തരികമാക്കിയാൽ, ബൈനറി സാധാരണ നമ്പറുകൾ വായിക്കുന്നതു പോലെ സ്വാഭാവികമാകും.

ബൈനറി മുതൽ ഡെസിമൽ കണക്കുകൂട്ടൽ സൂത്രങ്ങളും രീതികളും

ബൈനറി മുതൽ ഡെസിമൽ: അതിന്റെ പിന്നിലെ ഗണിതം

ബൈനറി മുതൽ ഡെസിമൽ പരിവർത്തനം ഒരു ലളിതമായ മാതൃകയെ അനുസരിക്കുന്നു: ഓരോ അക്കവും അതിന്റെ സ്ഥാനത്തിന്റെ 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 ഇവിടെ മലയാളത്തിലേക്ക് വിവർത്തനം ചെയ്യുക]

ബൈനറി കൺവർട്ടർ അപ്ലിക്കേഷനുകൾ: യഥാർഥ ലോക ഉപയോഗ കേസുകൾ

പ്രാക്ടിക്കൽ ജീവിതത്തിൽ, ബൈനറി-ഡെസിമൽ കൺവർഷൻ നിങ്ങൾ പ്രതീക്ഷിക്കുന്നതിലും കൂടുതൽ സാധാരണമാണ്. ഇവിടെ കൺവർഷനുകൾ വളരെ ഉപയോഗപ്രദമായ സ്ഥിതിവിശേഷങ്ങളാണ്:

കമ്പ്യൂട്ടർ സയൻസ് & പ്രോഗ്രാമിംഗ്

മെമ്മറി പ്രശ്നങ്ങൾ ഡീബഗ് ചെയ്യുമ്പോൾ, നിങ്ങൾ പലപ്പോഴും ഹെക്സാഡെസിമൽ അഡ്രസുകൾ കാണും. ഡെസിമലിലേക്ക് കൺവർട്ട് ചെയ്യുന്നത് ഓഫ്സെറ്റുകൾ കണക്കാക്കാനോ ശരിയായ സ്ഥാനം ആക്സസ് ചെയ്യുന്നുണ്ടെന്ന് പരിശോധിക്കാനോ സഹായിക്കും.

ഡിജിറ്റൽ ഇലക്ട്രോണിക്സ്

മൈക്രോകൺട്രോളർ ഡാറ്റാഷീറ്റുകൾ രജിസ്റ്റർ കോൺഫിഗറേഷനുകൾ ഹെക്സ് & ബൈനറിയിൽ നിർദ്ദേശിക്കുന്നു. GPIO പിൻ സെറ്റ് ചെയ്യുമ്പോൾ, നിർദ്ദിഷ്ട ബിറ്റുകൾ മാത്രം മാറ്റാൻ ബൈനറി മനസ്സിലാക്കൽ അത്യാവശ്യമാണ്.

നെറ്റ്വർക്ക് എഞ്ചിനീയറിംഗ്

IPv4 അഡ്രസുകൾ 32-ബിറ്റ് ബൈനറി സംഖ്യകളാണ്. സബ്നെറ്റ് മാസ്ക് കണക്കാക്കുമ്പോൾ ബൈനറി കൺവർഷൻ അനിവാര്യമാണ്.

ഫയൽ അനുമതികൾ (Unix/Linux)

755 പോലുള്ള മൂന്ന് അക്ഷര അനുമതി കോഡുകൾ വാസ്തവത്തിൽ ഒക്ടൽ (ബേസ്-8) ആണ്, ഇത് 3-ബിറ്റ് ബൈനറി ഗ്രൂപ്പുകളിലേക്ക് കൃത്യമായി കൺവർട്ട് ചെയ്യാം.

മറ്റ് സംഖ്യാ സിസ്റ്റങ്ങൾ

ഹെക്സാഡെസിമൽ (ബേസ്-16)

ഹെക്സ് പ്രോഗ്രാമിംഗിൽ എല്ലായിടത്തും കാണപ്പെടുന്നു—മെമ്മറി അഡ്രസുകൾ, കളർ കോഡുകൾ, അസംബ്ലി ഭാഷ.

ഒക്ടൽ (ബേസ്-8)

ഒക്ടൽ 0-7 വരെയുള്ള അക്കങ്ങൾ ഉപയോഗിക്കുന്നു. Unix ഫയൽ അനുമതികളിൽ ഇപ്പോഴും കാണാം.

ബൈനറി-കോഡഡ് ഡെസിമൽ (BCD)

BCD ഓരോ ഡെസിമൽ അക്കവും സ്വന്തം 4-ബിറ്റ് ബൈനറി കോഡിൽ പ്രതിനിധീകരിക്കുന്നു. കാൽക്കുലേറ്റർ, ഡിജിറ്റൽ വാച്ചുകൾ, ധനകാര്യ സിസ്റ്റങ്ങളിൽ കാണാം.

ബൈനറി നമ്പർ സിസ്റ്റത്തിന്റെയും ഡെസിമൽ സിസ്റ്റത്തിന്റെയും ചരിത്രം

നമ്മൾ പത്തിൽ എന്തുകൊണ്ട് കണക്ക് കൂട്ടുന്നു

ഡെസിമൽ സ്വാഭാവികമായി തോന്നുന്നത് നമ്മുടെ പത്ത് വിരലുകൾ ഉണ്ടായിരുന്നതുകൊണ്ടാണ്—വാസ്തവത്തിൽ, അതാണ് കാരണം. പുരാതന സംസ്കാരങ്ങൾ സ്വതന്ത്രമായി ലോകമെമ്പാടും ബേസ്-10 സിസ്റ്റങ്ങൾ വികസിപ്പിച്ചു. മിസ്ര്യക്കാർ ഏകദേശം 3000 ബിസിയിൽ ഹൈറോഗ്ലിഫിക് ബേസ്-10 സംഖ്യകൾ ഉപയോഗിച്ചു. ബാബിലോണിയൻമാർ ബേസ്-60 നും ബേസ്-10 നും ഇടയിൽ മിശ്രിതം ഉപയോഗിച്ചു (അതുകൊണ്ടാണ് ഇന്നും ഒരു മിനിറ്റിൽ 60 സെക്കൻഡ് ഉള്ളത്). എന്നാൽ യഥാർഥ വിപ്ലവം 500 സിഇയിൽ ഇന്ത്യൻ ഗണിതജ്ഞർ പൂജ്യവും സ്ഥാന നിർണ്ണയ രീതിയും കണ്ടുപിടിച്ചപ്പോൾ വന്നു—ഒരു അക്കത്തിന്റെ സ്ഥാനം അതിന്റെ മൂല്യം നിർണ്ണയിക്കുന്ന സിസ്റ്റം. ഈ കണ്ടുപിടുത്തം അറബി ഗണിതം വഴി 800 സിഇയിൽ യൂറോപ്പിലേക്ക് പരന്നു, ഇന്ന് നാം ഉപയോഗിക്കുന്ന "ഹിന്ദു-അറബി സംഖ്യകൾ" നമുക്ക് നൽകി.

ബൈനറിയുടെ അപ്രതീക്ഷിത ചരിത്രം

ബൈനറി കമ്പ്യൂട്ടറുകൾക്ക് മുൻപ് നൂറ്റാണ്ടുകൾക്ക് മുൻപ് നിലവിലുണ്ടായിരുന്നു. ഏകദേശം 1000 ബിസിയിൽ ഒരു പുരാതന ചൈനീസ് ഗ്രന്ഥമായ ഐ ചിംഗ് ഒടിഞ്ഞ നിരകളും അഖണ്ഡ നിരകളും ഉപയോഗിച്ച് ബൈനറി നോട്ടേഷനോട് അടുത്ത രീതിയിൽ പ്രവർത്തിച്ചു. എന്നാൽ ഔപചാരിക ബൈനറി അരിഥ്മറ്റിക് 1679 ൽ ഗോട്ട്ഫ്രീഡ് വിൽഹെൽം ലൈബ്നിസ് "ബൈനറി അരിഥ്മറ്റിക്കിന്റെ വിശദീകരണം" പ്രസിദ്ധീകരിച്ചപ്പോൾ മാത്രം വന്നു. ലൈബ്നിസ് ബൈനറിയുടെ സുന്ദരതയിൽ മോഹിതനായിരുന്നു—രണ്ട് സിംബിളുകൾ മാത്രം ഉപയോഗിച്ച് ഏത് സംഖ്യയെയും പ്രതിനിധീകരിക്കാം.

യഥാർഥ മാന്ത്രിക കാര്യം നടന്നത് ജോർജ് ബൂൾ 1854 ൽ ബൂളിയൻ അൾജബ്ര വികസിപ്പിച്ചപ്പോൾ, ബൈനറി ട്രൂ/ഫാൾസ് മൂല്യങ്ങൾ ലോജിക്കൽ ഓപ്പറേഷനുകൾ പ്രതിനിധീകരിക്കാൻ ഉപയോഗിച്ചപ്പോൾ. പിന്നെ വന്ന കാര്യം: 1937 ൽ ക്ലോഡ് ഷാന്നന്റെ മാസ്റ്റേഴ്സ് തീസിസിൽ ബൂളിയൻ അൾജബ്ര വൈദ്യുതിക സർക്യൂട്ടുകൾ ഉപയോഗിച്ച് നടപ്പിലാക്കാൻ കഴിയുമെന്ന് തെളിയിച്ചു. ഈ ഒറ്റ ഇൻസൈറ്റ് ഓരോ ഡിജിറ്റൽ കമ്പ്യൂട്ടറിന്റെയും അടിസ്ഥാനം ഇട്ടു.

കമ്പ്യൂട്ടർ വിപ്ലവം

ജോൺ അറ്റനാസോഫ്, ക്ലിഫഡ് ബെറി 1939 ൽ ബൈനറി ഉപയോഗിച്ച് ആദ്യത്തെ ഇലക്ട്രോണിക് ഡിജിറ്റൽ കമ്പ്യൂട്ടർ രൂപകൽപ്പന ചെയ്തു. ജോൺ വോൺ ന്യൂമാൻ 1945 ൽ സംഭരിക്കപ്പെട്ട പ്രോഗ്രാം വാസ്തുവിന്റെ ഔപചാരിക രൂപം ഏർപ്പെടുത്തി, അവിടെ ഡാറ്റയും നിർദ്ദേശങ്ങളും ഒരേ ബൈനറി കോഡിൽ മെമ്മറിയിൽ നിലനിൽക്കുന്നു—ഇന്ന് നാം ഇപ്പോഴും ഉപയോഗിക്കുന്ന മോഡൽ. 1953 ൽ IBM വ്യാവസായിക ബൈനറി കമ്പ്യൂട്ടറുകൾ വിൽക്കുന്നുണ്ടായിരുന്നു. 1963 ലെ 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 അക്ഷരങ്ങൾ ഉപയോഗിച്ച് ഏതൊരു വാക്കും എഴുതുന്നതുപോലെ.

കമ്പ്യൂട്ടറുകൾ ഡെസിമൽ പകരം ബൈനറി എന്തുകൊണ്ട് ഉപയോഗിക്കുന്നു?

ഇവിടെ പ്രാക്ടിക്കൽ കാരണം: പത്ത് വ്യത്യസ്ത വോൾട്ടേജ് നിലവാരങ്ങൾ (ഡെസിമൽ) വ്യക്തമായി വ്യത്യാസപ്പെടുത്തുന്ന ഇലക്ട്രോണിക് ഘടകങ്ങൾ നിർമ്മിക്കുന്നത് വിലകൂടുതലും പിഴവുകളുള്ളതുമാണ്. രണ്ട് നിലകൾ—ഉയർന്ന വോൾട്ടേജ് vs കുറഞ്ഞ വോൾട്ടേജ്, മാഗ്‌നറ്റൈസ്ഡ് vs മാഗ്‌നറ്റൈസ്ഡ് അല്ലാത്തത്—വളരെ വിശ്വസനീയവും നിർമ്മാണ ചിലവ് കുറഞ്ഞതുമാണ്. ക്ലോഡ് ഷാന്നൺ 1937-ലെ മാസ്റ്റേഴ്സ് തീസിസിൽ ബൂളിയൻ ലോജിക് (ബൈനറി മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നത്) ഏതൊരു ലോജിക്കൽ പ്രവർത്തനവും പ്രതിനിധീകരിക്കാൻ കഴിയുമെന്ന് തെളിയിച്ചു, അനുഭവസമ്പന്ന ഡിജിറ്റൽ സർക്യൂട്ടുകളുടെ അടിസ്ഥാനം വെച്ചു. ബൂളിയൻ ബീജഗണിതത്തിന്റെ അടിസ്ഥാന വിവരങ്ങൾ സ്റ്റാൻഫഡ് എൻസൈക്ലോപീഡിയ ഓഫ് ഫിലസഫിയുടെ ബൂളിയൻ ബീജഗണിത പ്രവേശനത്തിൽ വായിക്കാം.

(ബാക്കി ഭാഗം തുടരും...)

അനുസന്ധാനങ്ങളും കൂടുതൽ വായനയ്ക്കുള്ള സാമഗ്രികളും

  1. കനുത്ത്, ഡൊണാൾഡ് ഇ. "കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗിന്റെ കല, വോളിയം 2: സെമിനുമെറിക്കൽ അൽഗോരിതങ്ങൾ." അഡിസൺ-വെസ്ലി, 1997.

  2. ഷാനൺ, ക്ലൗഡ് ഇ. "റിലേ കളവുകളുടെയും സ്വിച്ചിംഗ് സർക്യൂട്ടുകളുടെയും സിംബോളിക് വിശകലനം." അമേരിക്കൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇലക്ട്രിക്കൽ എഞ്ചിനീയേഴ്സിന്റെ ഇടപാടുകൾ, വോൾ. 57, നം. 12, 1938, പേ. 713-723. IEEE Xplore-ൽ നിന്ന് ലഭ്യം

  3. ലൈബ്നിസ്, ഗോട്ട്ഫ്രീഡ് വിൽഹെൽം. "ബൈനറി അരിഥ്മെറ്റിക്കിന്റെ വിശദീകരണം". മെമ്മോയേഴ്സ് ഡെ ലാക്കാഡെമി റൊയാൽ ഡെ സയൻസ്, 1703.

  4. ബൂൾ, ജോർജ്. "വിചാരത്തിന്റെ നിയമങ്ങളുടെ അന്വേഷണം." ഡോവർ പ്രസാധനങ്ങൾ, 1854 (1958-ൽ പുനഃപ്രസിദ്ധീകരിച്ചത്).

  5. ഇഫ്രാഹ്, ജോർജ്. "സംഖ്യകളുടെ സാർവ്വത്രിക ചരിത്രം: പ്രാഗ്ഭവകാലം മുതൽ കമ്പ്യൂട്ടറിന്റെ കണ്ടുപിടുത്തം വരെ." വൈലി, 2000.

  6. "POSIX.1-2017: chmod." ഓപ്പൺ ഗ്രൂപ്പ് അടിസ്ഥാന നിർവ്വചനങ്ങൾ. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

  7. "RFC 791: ഇന്റർനെറ്റ് പ്രോട്ടോകോൾ." ഇന്റർനെറ്റ് എഞ്ചിനീയറിംഗ് ടാസ്ക് ഫോഴ്സ് (IETF), 1981. https://tools.ietf.org/html/rfc791

  8. "ഇന്റൽ 64 and IA-32 വാസ്തുവിദ്യകൾ സോഫ്റ്റ്വെയർ ഡവലപ്പർ മാനുവൽ." ഇന്റൽ കോർപ്പറേഷൻ. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

ഇപ്പോൾ പരിവർത്തനം തുടങ്ങുക

മുകളിൽ ഈ പേജിൽ ഉള്ള പരിവർത്തകൻ രണ്ട് ദിശകളിലും തൽക്ഷണം പരിവർത്തനം നടത്തുന്നു. നിങ്ങളുടെ സംഖ്യ ഏതെങ്കിലും ഫീൽഡിൽ ടൈപ്പ് ചെയ്യുകയും പരിവർത്തനം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കണ്ണിക്കുന്ന ഗണിതപരമായ വിശദീകരണത്തോടെ ഫലം തൽക്ഷണം കാണുകയും ചെയ്യുക.

നിങ്ങൾക്ക് ലഭിക്കുന്നത്:

  • ബൈനറിയിൽ നിന്ന് ഡെസിമലിലേക്കുള്ള തൽക്ഷണ പരിവർത്തനം
  • പരിവർത്തന പ്രക്രിയയുടെ വിഷുവൽ വിശദീകരണം
  • 53 ബിറ്റ് വരെയുള്ള സംഖ്യകൾക്ക് പിന്തുണ (9 ക്വാഡ്രില്യൻ കവിഞ്ഞ്)
  • ഫലങ്ങൾ ഒറ്റ ക്ലിക്കിൽ കോപ്പി ചെയ്യൽ
  • സൈൻ അപ്പ് ആവശ്യമില്ല, ചിലവില്ല, ഏത് ഉപകരണത്തിലും പ്രവർത്തിക്കും

നെറ്റ്വർക്ക് കോൺഫിഗറേഷൻ ഡീബഗ് ചെയ്യുക, ഫയൽ അനുമതികൾ സജ്ജീകരിക്കുക, അല്ലെങ്കിൽ കമ്പ്യൂട്ടർ വാസ്തുവിദ്യയെക്കുറിച്ച് പഠിക്കുക, ബൈനറി-ഡെസിമൽ പരിവർത്തനം മനസ്സിലാക്കുന്നത് ഒരു അടിസ്ഥാന കഴിവാണ്. ഈ ഉപകരണം ഇതിനെ ലളിതമാക്കുന്നു.