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-এর একটি টোকেন রেকর্ড করতে পারে। একবার আক্ষরিক মূল্যায়নের পরে, ধ্রুবক ভাঁজ আকারে আরও শব্দার্থগত বিশ্লেষণ সম্ভব, যার অর্থ হল যে আক্ষরিক মানগুলির সাথে জড়িত আক্ষরিক অভিব্যক্তিগুলি সংকলন পর্যায়ে মূল্যায়ন করা যেতে পারে। উদাহরণস্বরূপ, x = 2 + 2 বিবৃতিতে আক্ষরিক মূল্যায়নের পরে এবং 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; ক্রেডিট কার্ড সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা সংখ্যা আন্ডারস্কোরটি প্রাথমিকভাবে প্রস্তাব করা হয়েছিল, 1993 সালে একটি প্রাথমিক প্রস্তাব সহ, এবং আবার সি + + 11-এর জন্য, অন্যান্য ভাষাগুলি অনুসরণ করে। যাইহোক, এটি ব্যবহারকারী-সংজ্ঞায়িত আক্ষরিক শব্দের সাথে দ্বন্দ্ব সৃষ্টি করেছিল, তাই এর পরিবর্তে অ্যাপোস্ট্রোফিকে "আপার কমা" (যা অন্য কিছু প্রসঙ্গে ব্যবহৃত হয়) হিসাবে প্রস্তাব করা হয়েছিল। স্বয়ংক্রিয় পূর্ণসংখ্যা _ আক্ষরিক = 1'000'000; স্বয়ংক্রিয় বাইনারি _ আক্ষরিক = 0b 0100'1100'0110; স্বয়ংক্রিয় খুব _ দীর্ঘ _ বাইনারি _ আক্ষরিক = 0b 0000'0001'0010 '0011 "0100'0101'0110' 0111; তথ্যসূত্র আক্ষরিক উৎস কোড