কম্পিউটার টিউটোরিয়াল

সি/সি++-এ int থেকে ASCII ক্যারেক্টারে কনভার্সন

সি/সি++-এ ক্যারেক্টারগুলো আসলেই তাদের ASCII (বা সমতুল্য এনকোডিং) মান হিসেবে সংরক্ষিত থাকে। একটি সিঙ্গেল ডিজিট পূর্ণসংখ্যা (০-৯) কে সংশ্লিষ্ট ASCII ক্যারেক্টারে কনভার্ট করার সবচেয়ে সহজ পদ্ধতি হলো '0' ক্যারেক্টারের ASCII মান দিয়ে যোগ করা।

লজিক

ASCII('0') = 48
ASCII('1') = 49 = 48 + 1
ASCII('2') = 50 = 48 + 2
...
ASCII('9') = 57 = 48 + 9

সুতরাং: ascii_char = '0' + digit

উদাহরণ

#include <stdio.h>

int intToAscii(int number) {
    return '0' + number; // শুধু ০-৯ এর জন্য বৈধ
}

int main() {
    printf("The ASCII of 5 is %d\n", intToAscii(5)); // 53
    printf("The ASCII of 8 is %d\n", intToAscii(8)); // 56
    // ক্যারেক্টার হিসেবে প্রিন্ট করতে:
    printf("Char of 5: %c\n", intToAscii(5));      // '5'
    printf("Char of 8: %c\n", intToAscii(8));      // '8'
    return 0;
}

আউটপুট

The ASCII of 5 is 53
The ASCII of 8 is 56
Char of 5: 5
Char of 8: 8

সীমাবদ্ধতা ও সতর্কতা

  • এই পদ্ধতি শুধু ০-৯ রেঞ্জের জন্য কাজ করে
  • যদি number > 9 বা number < 0 হয়, তবে আউটপুট অবৈধ ASCII ক্যারেক্টার হবে
  • বড় নম্বর বা সম্পূর্ণ স্ট্রিং কনভার্ট করতে sprintf, itoa (নন-স্ট্যান্ডার্ড), বা C++-এ std::to_string ব্যবহার করুন

আধুনিক C++ পদ্ধতি

#include <string>
#include <iostream>

int main() {
    int num = 42;
    std::string s = std::to_string(num); // "42"
    std::cout << s << std::endl;
    return 0;
}

ASCII টেবিল রেফারেন্স (আংশিক)

CharDecHex
'0'480x30
'A'650x41
'a'970x61
  1. C/C++-এ iswlower() ফাংশন

  2. C/C++-এ mbrtowc() ফাংশন

  3. C/C++-এ টার্নারি অপারেটর

  4. C++-এ int কে string-এ রূপান্তর (Integer to String)