Integer literal
કોમ્પ્યુટર વિજ્ઞાનમાં, પૂર્ણાંક શાબ્દિક એ પૂર્ણાંક માટે એક પ્રકારનું શાબ્દિક છે જેનું મૂલ્ય સ્રોત કોડમાં સીધું રજૂ થાય છે. ઉદાહરણ તરીકે, અસાઇનમેન્ટ સ્ટેટમેન્ટ x = 1 માં, સ્ટ્રિંગ 1 એ પૂર્ણાંક શાબ્દિક છે જે મૂલ્ય 1 સૂચવે છે, જ્યારે સ્ટેટમેન્ટ x = 0x10 માં સ્ટ્રિંગ 0x10 એ પૂર્ણાંક શાબ્દિક છે જે મૂલ્ય 16 સૂચવે છે, જે હેક્સાડેસિમલમાં 10 દ્વારા રજૂ થાય છે (0x ઉપસર્ગ દ્વારા સૂચવવામાં આવે છે). તેનાથી વિપરીત, x = cos (0) માં, અભિવ્યક્તિ cos (0) નું મૂલ્યાંકન 1 (0 ની કોસાઇન તરીકે) થાય છે, પરંતુ મૂલ્ય 1 શાબ્દિક રીતે સ્રોત કોડમાં શામેલ નથી. વધુ સરળ રીતે, x = 2 + 2 માં, અભિવ્યક્તિ 2 + 2 નું મૂલ્યાંકન 4 થાય છે, પરંતુ મૂલ્ય 4 શાબ્દિક રીતે શામેલ નથી. વધુમાં, x = "1" માં "1" એ શબ્દમાળા શાબ્દિક છે, પૂર્ણાંક શાબ્દિક નથી, કારણ કે તે અવતરણમાં છે. શબ્દમાળાનું મૂલ્ય 1 છે, જે પૂર્ણાંક શબ્દમાળા હોય છે, પરંતુ આ શબ્દમાળાનું શાબ્દિક અર્થશાસ્ત્રીય વિશ્લેષણ છે-વાક્યરચના સ્તરે "1" એ ફક્ત એક શબ્દમાળા છે, જે "ફૂ" થી અલગ નથી. શબ્દમાળા (સ્રોત કોડમાં અક્ષરોની શ્રેણી) ને પૂર્ણાંક શાબ્દિક તરીકે ઓળખવી એ શાબ્દિક વિશ્લેષણ (લેક્સિંગ) તબક્કાનો એક ભાગ છે, જ્યારે શાબ્દિકનું તેના મૂલ્યનું મૂલ્યાંકન કરવું એ સિમેન્ટીક વિશ્લેષણ તબક્કાનો એક ભાગ છે. લેક્સર અને ફ્રેઝ વ્યાકરણની અંદર, ટોકન વર્ગને ઘણીવાર પૂર્ણાંક સૂચવવામાં આવે છે, જેમાં શબ્દસમૂહ-સ્તરના ઉત્પાદન નિયમ (જેમ કે લિસ્ટઓફ ઇન્ટિજર્સ) ના વિરોધમાં, લોઅરકેસ લેક્સિકલ-સ્તરના ટોકન વર્ગને સૂચવે છે. એકવાર સ્ટ્રિંગને પૂર્ણાંક શાબ્દિક તરીકે લખવામાં આવે (ટોકનાઇઝ્ડ) પછી, તેનું મૂલ્ય વાક્યરચના દ્વારા નક્કી કરી શકાતું નથી (તે માત્ર એક પૂર્ણાંક છે), અને તેના મૂલ્યનું મૂલ્યાંકન સિમેન્ટીક પ્રશ્ન બની જાય છે. પાયથોનની જેમ પૂર્ણાંકના અક્ષરોને સામાન્ય રીતે નિયમિત સમીકરણો સાથે લખવામાં આવે છે. મૂલ્યાંકન અન્ય સાહિત્યની જેમ, પૂર્ણાંક સાહિત્યનું મૂલ્યાંકન સામાન્ય રીતે સંકલન સમયે, સિમેન્ટીક વિશ્લેષણ તબક્કાના ભાગ રૂપે કરવામાં આવે છે. કેટલાક કિસ્સાઓમાં આ સિમેન્ટીક વિશ્લેષણ લેક્સરમાં પૂર્ણાંક શાબ્દિકની ઓળખ પર તરત જ કરવામાં આવે છે, જ્યારે અન્ય કિસ્સાઓમાં આ પદચ્છેદન તબક્કા સુધી અથવા પદચ્છેદન વૃક્ષ સંપૂર્ણપણે બાંધવામાં આવે ત્યાં સુધી મુલતવી રાખવામાં આવે છે. ઉદાહરણ તરીકે, 0x10 શબ્દમાળાને ઓળખવા પર લેક્સર તરત જ આનું મૂલ્યાંકન 16 કરી શકે છે અને તેને (પ્રકાર પૂર્ણાંક અને મૂલ્ય 16 નું ટોકન) સંગ્રહિત કરી શકે છે, અથવા મૂલ્યાંકનને વિલંબિત કરી શકે છે અને તેના બદલે પ્રકાર પૂર્ણાંક અને મૂલ્ય 0x10 નું ટોકન રેકોર્ડ કરી શકે છે. એકવાર શાબ્દિક મૂલ્યાંકન થઈ ગયા પછી, સતત ફોલ્ડિંગના રૂપમાં વધુ સિમેન્ટીક વિશ્લેષણ શક્ય છે, જેનો અર્થ છે કે શાબ્દિક મૂલ્યોને સમાવતી શાબ્દિક અભિવ્યક્તિઓનું સંકલન તબક્કામાં મૂલ્યાંકન કરી શકાય છે. ઉદાહરણ તરીકે, અક્ષરોના મૂલ્યાંકન પછી અને 2 + 2 અભિવ્યક્તિનું વિશ્લેષણ કર્યા પછી x = 2 + 2 નિવેદનમાં, તેનું મૂલ્યાંકન 4 કરી શકાય છે, જો કે મૂલ્ય 4 પોતે શાબ્દિક તરીકે દેખાતું નથી. પૂર્ણાંક અક્ષરોમાં વારંવાર આધાર સૂચવતા ઉપસર્ગ હોય છે, અને ઓછા વારંવાર પ્રકાર સૂચવતા પ્રત્યય હોય છે. ઉદાહરણ તરીકે, સી + + માં 0x10યુએલએલ મૂલ્ય 16 (કારણ કે હેક્સાડેસિમલ) ને સહી વગરના લાંબા પૂર્ણાંક તરીકે સૂચવે છે. સામાન્ય ઉપસર્ગોમાં નીચેનાનો સમાવેશ થાય છેઃ હેક્સાડેસિમલ (આધાર 16) માટે 0x અથવા 0X; ઓક્ટલ (આધાર 8) માટે 0,0o અથવા 0O; દ્વિસંગી (આધાર 2) માટે 0b અથવા 0B. સામાન્ય પ્રત્યયમાં નીચેનાનો સમાવેશ થાય છેઃ લાંબા પૂર્ણાંક માટે l અથવા L; લાંબા લાંબા પૂર્ણાંક માટે ll અથવા LL; સહી વગરના પૂર્ણાંક માટે u અથવા U. આ એફિક્સ કંઈક અંશે સિગિલ્સ જેવા જ હોય છે, જોકે સિગિલ્સ ઓળખકર્તાઓ (નામો) સાથે જોડાયેલા હોય છે, શાબ્દિક નહીં. અંકો વિભાજક કેટલીક ભાષાઓમાં, પૂર્ણાંક અક્ષરોમાં અંકો વિભાજક હોઈ શકે છે જે અંકોને વધુ સુપાઠ્ય સ્વરૂપોમાં જૂથબદ્ધ કરવાની મંજૂરી આપે છે. જો આ ઉપલબ્ધ હોય, તો તે સામાન્ય રીતે ફ્લોટિંગ પોઇન્ટ લિટરલ્સ માટે પણ કરી શકાય છે. આ ખાસ કરીને બીટ ક્ષેત્રો માટે ઉપયોગી છે અને અંકોની ગણતરી કરવાને બદલે સબટાઇઝિંગ દ્વારા મોટી સંખ્યાઓ (જેમ કે દસ લાખ) નું કદ એક નજરમાં જોવાનું સરળ બનાવે છે. તે એવા નંબરો માટે પણ ઉપયોગી છે જે સામાન્ય રીતે જૂથબદ્ધ હોય છે, જેમ કે ક્રેડિટ કાર્ડ નંબર અથવા સામાજિક સુરક્ષા નંબર. ખૂબ લાંબી સંખ્યાઓને વિભાજકને બમણી કરીને વધુ જૂથબદ્ધ કરી શકાય છે. સામાન્ય રીતે દશાંશ સંખ્યાઓ (આધાર-10) ને ત્રણ આંકડાના જૂથોમાં (1000 સંભવિત મૂલ્યોમાંથી એકનું પ્રતિનિધિત્વ કરતી), દ્વિસંગી સંખ્યાઓ (આધાર-2) ને ચાર આંકડાના જૂથોમાં (એક નિબ્બલ, 16 સંભવિત મૂલ્યોમાંથી એકનું પ્રતિનિધિત્વ કરતી), અને હેક્સાડેસિમલ સંખ્યાઓ (આધાર-16) ને બે આંકડાના જૂથોમાં (દરેક અંક એક નિબ્બલ છે, તેથી બે અંકો એક બાઈટ છે, જે 256 સંભવિત મૂલ્યોમાંથી એકનું પ્રતિનિધિત્વ કરે છે) જૂથબદ્ધ કરવામાં આવે છે. અન્ય પ્રણાલીઓમાંથી સંખ્યાઓ (જેમ કે ઓળખ સંખ્યાઓ) ઉપયોગમાં લેવાતી કોઈપણ પરંપરાને અનુસરીને જૂથબદ્ધ કરવામાં આવે છે. ઉદાહરણોમાં અડા, સી #(આવૃત્તિ 7 માંથી), ડી, એફિલ, ગો (આવૃત્તિ 1.13 થી), હાસ્કેલ (જીએચસી આવૃત્તિ 8.6.1 થી), જાવા (આવૃત્તિ 7 થી), જુલિયા, પર્લ, પાયથોન (આવૃત્તિ 3.6 થી), રૂબી, રસ્ટ અને સ્વિફ્ટ, પૂર્ણાંક અક્ષરો અને ફ્લોટ અક્ષરોને અન્ડરસ્કોર (_) સાથે અલગ કરી શકાય છે. પ્લેસમેન્ટ પર કેટલાક પ્રતિબંધો હોઈ શકે છે; ઉદાહરણ તરીકે, જાવામાં તેઓ શાબ્દિકની શરૂઆતમાં અથવા અંતે દેખાઈ શકતા નથી, ન તો દશાંશ બિંદુની બાજુમાં. નોંધ લો કે જ્યારે સમયગાળો, અલ્પવિરામ અને (પાતળા) જગ્યાઓનો ઉપયોગ સામાન્ય લેખનમાં અંક વિભાજન માટે થાય છે, ત્યારે આ પ્રોગ્રામિંગ ભાષાઓમાં રેડિક્સ પોઇન્ટ, લિસ્ટ સેપરેટર (અને સી/સી + + માં, અલ્પવિરામ સંચાલક) અને ટોકન સેપરેટર તરીકેના તેમના હાલના ઉપયોગ સાથે વિરોધાભાસી છે. ઉદાહરણોમાં નીચેનાનો સમાવેશ થાય છેઃ પૂર્ણાંક એક મિલિયન = 1,000,000; પૂર્ણાંક ક્રેડિટકાર્ડ નંબર = 1234 _ 5678 _ 9012 _ 3456; પૂર્ણાંક સામાજિક સુરક્ષા નંબર = 123 _ 45 _ 6789; સી + + 14 (2014) અને સી, સી 23 ના આગામી સંસ્કરણમાં, એપોસ્ટ્રોફી અક્ષરનો ઉપયોગ આંકડાકીય અક્ષરોમાં મનસ્વી રીતે અંકોને અલગ કરવા માટે થઈ શકે છે. અંડરસ્કોરની શરૂઆતમાં દરખાસ્ત કરવામાં આવી હતી, 1993 માં પ્રારંભિક દરખાસ્ત સાથે, અને ફરીથી સી + + 11 માટે, અન્ય ભાષાઓને અનુસરીને. જો કે, આ વપરાશકર્તા-નિર્ધારિત અક્ષરો સાથે સંઘર્ષનું કારણ બન્યું, તેથી તેના બદલે એપોસ્ટ્રોફીને "ઉપલા અલ્પવિરામ" (જેનો ઉપયોગ કેટલાક અન્ય સંદર્ભોમાં થાય છે) તરીકે પ્રસ્તાવિત કરવામાં આવી હતી. ઓટો પૂર્ણાંક _ શાબ્દિક = 1'000'000; ઓટો દ્વિસંગી _ શાબ્દિક = 0b 0100'1100'0110; ઓટો ખૂબ _ લાંબા _ દ્વિસંગી _ શાબ્દિક = 0b 0000'0001'0010 '0011 "0100'0101'0110' 0111; નોંધો સંદર્ભો શાબ્દિક સ્રોત કોડ