Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാവുന്ന കമാൻഡ് perlnumber ആണിത്.
പട്ടിക:
NAME
perlnumber - സംഖ്യകളുടെ അർത്ഥശാസ്ത്രവും പേളിലെ സംഖ്യാ പ്രവർത്തനങ്ങളും
സിനോപ്സിസ്
$n = 1234; # ദശാംശ പൂർണ്ണസംഖ്യ
$n = 0b1110011; # ബൈനറി പൂർണ്ണസംഖ്യ
$n = 01234; # ഒക്ടൽ പൂർണ്ണസംഖ്യ
$n = 0x1234; # ഹെക്സാഡെസിമൽ പൂർണ്ണസംഖ്യ
$n = 12.34e-56; # എക്സ്പോണൻഷ്യൽ നൊട്ടേഷൻ
$n = "-12.34e56"; ഒരു സ്ട്രിംഗായി വ്യക്തമാക്കിയ # നമ്പർ
$n = "1234"; ഒരു സ്ട്രിംഗായി വ്യക്തമാക്കിയ # നമ്പർ
വിവരണം
ഈ ഡോക്യുമെന്റ് എങ്ങനെയാണ് പെൾ ആന്തരികമായി സംഖ്യാ മൂല്യങ്ങൾ കൈകാര്യം ചെയ്യുന്നതെന്ന് വിവരിക്കുന്നു.
പേളിന്റെ ഓപ്പറേറ്റർ ഓവർലോഡിംഗ് സൗകര്യം ഇവിടെ പൂർണ്ണമായും അവഗണിക്കപ്പെട്ടിരിക്കുന്നു. ഓപ്പറേറ്റർ ഓവർലോഡിംഗ്
സംഖ്യകൾക്കായി ഉപയോക്തൃ-നിർവചിച്ച പെരുമാറ്റങ്ങൾ അനുവദിക്കുന്നു, അനിയന്ത്രിതമായ വലിയ പ്രവർത്തനങ്ങൾ പോലെ
പൂർണ്ണസംഖ്യകൾ, അനിയന്ത്രിതമായ കൃത്യതയോടെയുള്ള ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകൾ, "വിചിത്രമായ" മേൽ പ്രവർത്തനങ്ങൾ
മോഡുലാർ അരിത്മെറ്റിക് അല്ലെങ്കിൽ പി-അഡിക് അരിത്മെറ്റിക് പോലുള്ള സംഖ്യകൾ. എന്നതിനായി ഓവർലോഡ് കാണുക
വിശദാംശങ്ങൾ.
സംഭരിക്കാൻ നമ്പറുകൾ
പേളിന് 3 വ്യത്യസ്ത രീതികളിൽ സംഖ്യകളെ ആന്തരികമായി പ്രതിനിധീകരിക്കാൻ കഴിയും: നേറ്റീവ് പൂർണ്ണസംഖ്യകളായി, നേറ്റീവ് ആയി
ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകളും ദശാംശ സ്ട്രിംഗുകളും. ദശാംശ സ്ട്രിംഗുകൾക്ക് ഒരു എക്സ്പോണൻഷ്യൽ ഉണ്ടായിരിക്കാം
നൊട്ടേഷൻ ഭാഗം, "12.34e-56" പോലെ. തനതായ ഇവിടെ അർത്ഥമാക്കുന്നത് "സി കംപൈലർ പിന്തുണയ്ക്കുന്ന ഒരു ഫോർമാറ്റ്
പേൾ നിർമ്മിക്കാൻ ഉപയോഗിച്ചത്".
നേറ്റീവ് പൂർണ്ണസംഖ്യകളെക്കുറിച്ച് നമ്മൾ സംസാരിക്കുമ്പോൾ "നേറ്റീവ്" എന്ന പദത്തിന് അർത്ഥമില്ല
നേറ്റീവ് ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകൾ ഉൾപ്പെടുമ്പോൾ ചെയ്യുന്നു. പദത്തിന്റെ ഒരേയൊരു സൂചന
പൂർണ്ണസംഖ്യകളിലെ "നേറ്റീവ്" എന്നത് പരമാവധി, കുറഞ്ഞ പിന്തുണയുള്ള പരിമിതികൾ ശരിയാണ്
അവിഭാജ്യ അളവുകൾ 2 ന്റെ ശക്തിയോട് അടുത്താണ്. എന്നിരുന്നാലും, "നേറ്റീവ്" ഫ്ലോട്ടുകൾക്ക് ഏറ്റവും കൂടുതൽ ഉണ്ട്
അടിസ്ഥാന നിയന്ത്രണം: താരതമ്യേന ഉള്ള സംഖ്യകളെ മാത്രമേ അവ പ്രതിനിധീകരിക്കൂ
ബൈനറി ഫ്രാക്ഷനിലേക്ക് പരിവർത്തനം ചെയ്യുമ്പോൾ "ഹ്രസ്വ" പ്രാതിനിധ്യം. ഉദാഹരണത്തിന്, 0.9 ആകാൻ കഴിയില്ല
ഒരു നേറ്റീവ് ഫ്ലോട്ട് പ്രതിനിധീകരിക്കുന്നു, കാരണം 0.9 ന്റെ ബൈനറി ഫ്രാക്ഷൻ അനന്തമാണ്:
ബൈനറി0.1110011001100...
1100 എന്ന ക്രമം വീണ്ടും വീണ്ടും ആവർത്തിക്കുന്നു. ഈ പരിമിതിക്ക് പുറമേ, ദി
ഒരു ഫ്ലോട്ടിംഗ് ആയി പ്രതിനിധീകരിക്കുമ്പോൾ ബൈനറി സംഖ്യയുടെ എക്സ്പോണന്റും നിയന്ത്രിച്ചിരിക്കുന്നു
പോയിന്റ് നമ്പർ. സാധാരണ ഹാർഡ്വെയറിൽ, ഫ്ലോട്ടിംഗ് പോയിന്റ് മൂല്യങ്ങൾക്ക് 53 വരെയുള്ള സംഖ്യകൾ സംഭരിക്കാൻ കഴിയും
ബൈനറി അക്കങ്ങൾ, കൂടാതെ -1024 നും 1024 നും ഇടയിലുള്ള ബൈനറി എക്സ്പോണന്റുകളുമുണ്ട്. ദശാംശത്തിൽ
പ്രാതിനിധ്യം ഇത് 16 ദശാംശ അക്കങ്ങൾക്കും ദശാംശ എക്സ്പോണന്റുകളുടെ പരിധിയിലും അടുത്താണ്
-304..304. ഇതിന്റെയെല്ലാം ഫലം പേളിന് ഇതുപോലുള്ള ഒരു നമ്പർ സംഭരിക്കാൻ കഴിയില്ല എന്നതാണ്
12345678901234567 അത്തരം ആർക്കിടെക്ചറുകളിൽ നഷ്ടപ്പെടാതെ ഒരു ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറായി
വിവരങ്ങൾ.
അതുപോലെ, ദശാംശ സ്ട്രിംഗുകൾക്ക് പരിമിതമായ ദശാംശമുള്ള സംഖ്യകളെ മാത്രമേ പ്രതിനിധീകരിക്കാൻ കഴിയൂ
വികാസം. സ്ട്രിംഗുകൾ ആയതിനാൽ, അനിയന്ത്രിതമായ നീളം, ഇതിന് പ്രായോഗിക പരിധിയില്ല
ഈ സംഖ്യകൾക്കുള്ള ദശാംശ അക്കങ്ങളുടെ ഘാതം അല്ലെങ്കിൽ സംഖ്യ. (എന്നാൽ നമ്മൾ എന്താണെന്ന് തിരിച്ചറിയുക
അതിനുള്ള നിയമങ്ങൾ ചർച്ച ചെയ്യുന്നു ശേഖരണം ഈ സംഖ്യകളിൽ. നിങ്ങൾക്ക് സംഭരിക്കാൻ കഴിയും എന്ന വസ്തുത
അത്തരം "വലിയ" സംഖ്യകൾ അർത്ഥമാക്കുന്നില്ല പ്രവർത്തനങ്ങൾ ഈ നമ്പറുകളിൽ എല്ലാം ഉപയോഗിക്കും
പ്രധാനപ്പെട്ട അക്കങ്ങൾ. വിശദാംശങ്ങൾക്ക് "ന്യൂമറിക് ഓപ്പറേറ്റർമാരും സംഖ്യാ പരിവർത്തനങ്ങളും" കാണുക.)
യഥാർത്ഥത്തിൽ നേറ്റീവ് ഇന്റിജർ ഫോർമാറ്റിൽ സംഭരിച്ചിരിക്കുന്ന സംഖ്യകൾ ഒപ്പിട്ടതിൽ ഒന്നുകിൽ സംഭരിച്ചേക്കാം
നേറ്റീവ് ഫോം, അല്ലെങ്കിൽ ഒപ്പിടാത്ത നേറ്റീവ് രൂപത്തിൽ. അങ്ങനെ പേൾ നമ്പറുകളുടെ പരിധികൾ ഇങ്ങനെ സംഭരിച്ചു
നേറ്റീവ് പൂർണ്ണസംഖ്യകൾ സാധാരണയായി -2**31..2**32-1 ആയിരിക്കും.
64-ബിറ്റ് പൂർണ്ണസംഖ്യകളുടെ കേസ്. വീണ്ടും, ഇതിനർത്ഥം പേളിന് ഓപ്പറേഷൻസ് ഓപ്പറേഷനുകൾ മാത്രമേ ചെയ്യാൻ കഴിയൂ എന്നല്ല
ഈ ശ്രേണിയിലെ പൂർണ്ണസംഖ്യകൾ: ഫ്ലോട്ടിംഗ് പോയിന്റിൽ കൂടുതൽ പൂർണ്ണസംഖ്യകൾ സംഭരിക്കാൻ കഴിയും
ഫോർമാറ്റ്.
ചുരുക്കത്തിൽ, Perl സംഖ്യാ മൂല്യങ്ങൾക്ക് പരിമിതമായ ദശാംശമുള്ള സംഖ്യകൾ മാത്രമേ സംഭരിക്കാൻ കഴിയൂ.
വികാസം അല്ലെങ്കിൽ ഒരു "ഹ്രസ്വ" ബൈനറി വികാസം.
സംഖ്യാ ഓപ്പറേറ്റർമാർ ഒപ്പം സംഖ്യ മതപരിവർത്തനം
നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, പേളിന് മൂന്ന് ഫോർമാറ്റുകളിൽ ഏതെങ്കിലും ഒന്നിൽ ഒരു നമ്പർ സംഭരിക്കാൻ കഴിയും, എന്നാൽ മിക്കതും
ഓപ്പറേറ്റർമാർ സാധാരണയായി അത്തരം ഫോർമാറ്റുകളിൽ ഒന്ന് മാത്രമേ മനസ്സിലാക്കൂ. ഒരു സംഖ്യാ മൂല്യം കടന്നുപോകുമ്പോൾ
അത്തരമൊരു ഓപ്പറേറ്റർക്കുള്ള ഒരു വാദമെന്ന നിലയിൽ, അത് മനസ്സിലാക്കിയ ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യപ്പെടും
ഓപ്പറേറ്റർ.
അത്തരം ആറ് പരിവർത്തനങ്ങൾ സാധ്യമാണ്:
നേറ്റീവ് പൂർണ്ണസംഖ്യ --> നേറ്റീവ് ഫ്ലോട്ടിംഗ് പോയിന്റ് (*)
നേറ്റീവ് പൂർണ്ണസംഖ്യ --> ദശാംശ സ്ട്രിംഗ്
നേറ്റീവ് floating_point --> നേറ്റീവ് പൂർണ്ണസംഖ്യ (*)
നേറ്റീവ് floating_point --> ദശാംശ സ്ട്രിംഗ് (*)
ദശാംശ സ്ട്രിംഗ് --> നേറ്റീവ് പൂർണ്ണസംഖ്യ
ഡെസിമൽ സ്ട്രിംഗ് --> നേറ്റീവ് ഫ്ലോട്ടിംഗ് പോയിന്റ് (*)
ഈ പരിവർത്തനങ്ങൾ ഇനിപ്പറയുന്ന പൊതു നിയമങ്ങളാൽ നിയന്ത്രിക്കപ്പെടുന്നു:
· ലക്ഷ്യ ഫോമിൽ ഉറവിട നമ്പർ പ്രതിനിധീകരിക്കാൻ കഴിയുമെങ്കിൽ, ആ പ്രാതിനിധ്യം
ഉപയോഗിച്ചു.
· ലക്ഷ്യ ഫോമിൽ പ്രതിനിധീകരിക്കാവുന്ന പരിധിക്ക് പുറത്താണ് ഉറവിട നമ്പർ എങ്കിൽ, a
ഏറ്റവും അടുത്തുള്ള പരിധിയുടെ പ്രാതിനിധ്യം ഉപയോഗിക്കുന്നു. (നഷ്ടം of വിവരം)
· ലക്ഷ്യ ഫോമിൽ പ്രതിനിധീകരിക്കാവുന്ന രണ്ട് സംഖ്യകൾക്കിടയിലാണ് ഉറവിട നമ്പർ എങ്കിൽ, a
ഈ സംഖ്യകളിലൊന്നിന്റെ പ്രാതിനിധ്യം ഉപയോഗിക്കുന്നു. (നഷ്ടം of വിവരം)
· "നേറ്റീവ് ഫ്ലോട്ടിംഗ് പോയിന്റ് --> നേറ്റീവ് പൂർണ്ണസംഖ്യയിൽ" ഫലത്തിന്റെ വ്യാപ്തി പരിവർത്തനം ചെയ്യുന്നു
ഉറവിടത്തിന്റെ വ്യാപ്തിയേക്കാൾ കുറവോ തുല്യമോ ആണ്. ("റൗണ്ടിംഗ് ലേക്ക് പൂജ്യം".)
· "ദശാംശ സ്ട്രിംഗ് --> നേറ്റീവ് പൂർണ്ണസംഖ്യ" പരിവർത്തനം നഷ്ടപ്പെടാതെ ചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ
വിവരങ്ങൾ, "decimal_string --> എന്ന പരിവർത്തന ക്രമവുമായി ഫലം പൊരുത്തപ്പെടുന്നു
നേറ്റീവ്_ഫ്ലോട്ടിംഗ്_പോയിന്റ് --> നേറ്റീവ്_ഇന്റീഗർ". പ്രത്യേകിച്ചും, റൗണ്ടിംഗ് ശക്തമായി പക്ഷപാതപരമാണ്
0 വരെ, "0.99999999999999999999" പോലെയുള്ള ഒരു സംഖ്യയ്ക്ക് റൗണ്ട് ചെയ്യപ്പെടാനുള്ള അവസരമുണ്ടെങ്കിലും
1.
നിയന്ത്രണവുമായി: മുകളിൽ "(*)" എന്ന് അടയാളപ്പെടുത്തിയിരിക്കുന്ന പരിവർത്തനങ്ങളിൽ സി നടത്തുന്ന ഘട്ടങ്ങൾ ഉൾപ്പെടുന്നു
കമ്പൈലർ. പ്രത്യേകിച്ചും, ഉപയോഗിക്കുന്ന കംപൈലറിന്റെ ബഗുകൾ/സവിശേഷതകൾ ചിലതിന്റെ തകർച്ചയിലേക്ക് നയിച്ചേക്കാം
മുകളിൽ പറഞ്ഞ നിയമങ്ങളിൽ.
സുഗന്ധങ്ങൾ of പേൾ സംഖ്യ പ്രവർത്തനങ്ങൾ
ഒരു ന്യൂമറിക് ആർഗ്യുമെന്റ് എടുക്കുന്ന പേൾ ഓപ്പറേഷനുകൾ ആ ആർഗ്യുമെന്റിനെ നാലിൽ ഒന്നിൽ വ്യത്യസ്തമായി പരിഗണിക്കുന്നു
വഴികൾ: അവർ അതിനെ പൂർണ്ണസംഖ്യ/ഫ്ലോട്ടിംഗ്/ സ്ട്രിംഗ് ഫോർമാറ്റുകളിൽ ഒന്നിലേക്ക് നിർബന്ധിച്ചേക്കാം, അല്ലെങ്കിൽ അവർ പെരുമാറിയേക്കാം
ഓപ്പറണ്ടിന്റെ ഫോർമാറ്റ് അനുസരിച്ച് വ്യത്യസ്തമായി. ഒരു സംഖ്യാ മൂല്യം a ലേക്ക് നിർബന്ധിക്കുന്നു
പ്രത്യേക ഫോർമാറ്റ് മൂല്യത്തിൽ സംഭരിച്ചിരിക്കുന്ന സംഖ്യയെ മാറ്റില്ല.
പൂർണ്ണസംഖ്യ ഫോർമാറ്റിൽ ഒരു ആർഗ്യുമെന്റ് ആവശ്യമുള്ള എല്ലാ ഓപ്പറേറ്റർമാരും ആർഗ്യുമെന്റിനെ ഇൻ ആയി പരിഗണിക്കുന്നു
മോഡുലാർ അരിത്മെറ്റിക്, ഉദാ, 2-ബിറ്റ് ആർക്കിടെക്ചറിലെ "മോഡ് 32**32". "sprintf "%u", -1"
അതിനാൽ "sprintf "%u", ~0" എന്നതിന് സമാനമായ ഫലം നൽകുന്നു.
അരിത്മെറ്റിക് ഓപ്പറേറ്റർമാർ
ബൈനറി ഓപ്പറേറ്റർമാർ "+" "-" "*" "/" "%" "==" "!=" ">" "<" ">=" "<=" കൂടാതെ unary
"-" "abs", "--" എന്നീ ഓപ്പറേറ്റർമാർ ആർഗ്യുമെന്റുകളെ പൂർണ്ണസംഖ്യകളാക്കി മാറ്റാൻ ശ്രമിക്കും. രണ്ടും ആണെങ്കിൽ
കൃത്യത നഷ്ടപ്പെടാതെ പരിവർത്തനങ്ങൾ സാധ്യമാണ്, കൂടാതെ പ്രവർത്തനം നടത്താനും കഴിയും
കൃത്യത നഷ്ടപ്പെടാതെ പൂർണ്ണസംഖ്യ ഫലം ഉപയോഗിക്കുന്നു. അല്ലാത്തപക്ഷം വാദങ്ങളാണ്
ഫ്ലോട്ടിംഗ് പോയിന്റ് ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യുകയും ഫ്ലോട്ടിംഗ് പോയിന്റ് ഫലം ഉപയോഗിക്കുകയും ചെയ്യുന്നു. കാഷിംഗ്
പരിവർത്തനങ്ങളുടെ (മുകളിൽ വിവരിച്ചതുപോലെ) അർത്ഥമാക്കുന്നത് പൂർണ്ണസംഖ്യ പരിവർത്തനം എറിയുന്നില്ല എന്നാണ്
ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകളിൽ ഫ്രാക്ഷണൽ ഭാഗങ്ങൾ.
++ "++" മുകളിൽ പറഞ്ഞിരിക്കുന്ന മറ്റ് ഓപ്പറേറ്റർമാരെപ്പോലെ പ്രവർത്തിക്കുന്നു, അതൊരു സ്ട്രിംഗ് ആണെങ്കിൽ
ഫോർമാറ്റ് "/^[a-zA-Z]*[0-9]*\z/" പെർലോപ്പിൽ വിവരിച്ചിരിക്കുന്ന സ്ട്രിംഗ് ഇൻക്രിമെന്റ് ഉപയോഗിക്കുന്നു.
"പൂർണ്ണസംഖ്യ ഉപയോഗിക്കുക" സമയത്ത് ഗണിത ഓപ്പറേറ്റർമാർ
"പൂർണ്ണസംഖ്യ ഉപയോഗിക്കുക" എന്ന സ്കോപ്പുകളിൽ; പ്രാബല്യത്തിൽ ഉണ്ട്, മുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന മിക്കവാറും എല്ലാ ഓപ്പറേറ്റർമാരും ചെയ്യും
അവരുടെ വാദം(കൾ) പൂർണ്ണസംഖ്യ ഫോർമാറ്റിലേക്ക് നിർബന്ധിക്കുകയും ഒരു പൂർണ്ണസംഖ്യ ഫലം നൽകുകയും ചെയ്യുക. ദി
ഒഴിവാക്കലുകൾ, "abs", "++", "--", "ഉപയോഗ പൂർണ്ണസംഖ്യ" ഉപയോഗിച്ച് അവരുടെ സ്വഭാവം മാറ്റരുത്;
മറ്റ് ഗണിതശാസ്ത്ര ഓപ്പറേറ്റർമാർ
"**", "sin", "exp" തുടങ്ങിയ ഓപ്പറേറ്റർമാർ ആർഗ്യുമെന്റുകളെ ഫ്ലോട്ടിംഗ് പോയിന്റ് ഫോർമാറ്റിലേക്ക് നിർബന്ധിക്കുന്നു.
ബിറ്റ്വൈസ് ഓപ്പറേറ്റർമാർ
സ്ട്രിംഗുകളല്ലെങ്കിൽ പൂർണ്ണസംഖ്യ ഫോർമാറ്റിലേക്ക് ആർഗ്യുമെന്റുകൾ നിർബന്ധിതമാകുന്നു.
"പൂർണ്ണസംഖ്യ ഉപയോഗിക്കുക" സമയത്ത് ബിറ്റ്വൈസ് ഓപ്പറേറ്റർമാർ
പൂർണ്ണസംഖ്യ ഫോർമാറ്റിലേക്ക് ആർഗ്യുമെന്റുകൾ നിർബന്ധിക്കുന്നു. കൂടാതെ ഷിഫ്റ്റ് ഓപ്പറേഷനുകൾ ആന്തരികമായി സൈൻ ചെയ്തു
സ്വതവേ ഒപ്പിടാത്തതിനെക്കാൾ പൂർണ്ണസംഖ്യകൾ.
ഒരു പൂർണ്ണസംഖ്യ പ്രതീക്ഷിക്കുന്ന ഓപ്പറേറ്റർമാർ
പൂർണ്ണസംഖ്യ ഫോർമാറ്റിലേക്ക് ആർഗ്യുമെന്റ് നിർബന്ധിക്കുക. ഇത് മൂന്നാമത്തേതിനും ബാധകമാണ്
ഉദാഹരണത്തിന് "sysread" ന്റെ നാലാമത്തെ ആർഗ്യുമെന്റുകൾ.
ഒരു സ്ട്രിംഗ് പ്രതീക്ഷിക്കുന്ന ഓപ്പറേറ്റർമാർ
ആർഗ്യുമെന്റ് സ്ട്രിംഗ് ഫോർമാറ്റിലേക്ക് നിർബന്ധിക്കുക. ഉദാഹരണത്തിന്, ഇത് "printf-ന് ബാധകമാണ്
"%s", $value".
ഒരു പ്രത്യേക രൂപത്തിലേക്ക് ആർഗ്യുമെന്റ് നിർബന്ധിതമാക്കുന്നത്, പേൾ എന്ന സംഭരിച്ച സംഖ്യയെ മാറ്റില്ല
അത്തരം പരിവർത്തനങ്ങളുടെ ഫലം ഓർക്കുന്നു. പ്രത്യേകിച്ചും, അത്തരം ആദ്യ പരിവർത്തനം ആണെങ്കിലും
സമയമെടുക്കും, ആവർത്തിച്ചുള്ള പ്രവർത്തനങ്ങൾക്ക് പരിവർത്തനം വീണ്ടും ചെയ്യേണ്ടതില്ല.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് perlnumber ഓൺലൈനായി ഉപയോഗിക്കുക