কীভাবে জাভাতে লংকে int-এ রূপান্তর করবেন

Kibhabe Jabhate Lanke Int E Rupantara Karabena



জাভাতে, এমন কিছু পরিস্থিতি হতে পারে যেখানে বিকাশকারীকে কার্যকরভাবে মেমরি সংরক্ষণ করতে হবে। উদাহরণ স্বরূপ, তুলনামূলকভাবে ছোট মানের পরিসরে ডেটা টাইপ বরাদ্দ করা বা অতিরিক্ত মান থেকে মুক্তি পাওয়া। এই ধরনের ক্ষেত্রে, 'এর রূপান্তর দীর্ঘ ' প্রতি ' int' জাভাতে গাণিতিক ক্রিয়াকলাপ, কোড জটিলতাকে স্ট্রিমলাইন করে কার্যকর হয় এবং তুলনামূলকভাবে কম কার্যকর করার সময় লাগে।

এই নিবন্ধটি জাভাতে 'দীর্ঘ' থেকে 'int' রূপান্তর করার বিষয়ে বিস্তারিত বর্ণনা করবে।

জাভাতে 'লং' এবং 'int' কি?

দ্য ' দীর্ঘ ' জাভা রেঞ্জে টাইপ করুন ' থেকে -9223372036854775808 ' প্রতি ' 922337203685477580 'এবং বরাদ্দ করা হয়' 64 বিট দ্য ' int 'টাইপ, তবে, দখল করে' 32 ' থেকে শুরু করে বিট -2147483648 ' প্রতি ' 2147483647 ” এটি বোঝায় যে যেকোন সংখ্যা ' int ' প্রকারগুলি সহজেই একটি দ্বারা সমর্থিত হতে পারে ' দীর্ঘ ” টাইপ কিন্তু বেশিরভাগ সময় এটা সবসময় হয় না।







জাভা ব্যবহার করে কিভাবে 'লং' কে 'int' এ রূপান্তর করবেন?

পরিবর্তন করতে ' দীর্ঘ ' প্রতি ' int 'জাভাতে, নিম্নলিখিত পদ্ধতিগুলি প্রয়োগ করুন:



পদ্ধতি 1: 'Math.toIntExact()' পদ্ধতি ব্যবহার করে জাভাতে লংকে int-এ রূপান্তর করুন

দ্য ' Math.toIntExact() জাভাতে 'পদ্ধতি দেয়' int 'প্রদত্ত থেকে মান' দীর্ঘ ' যুক্তি. এই পদ্ধতিটি কেবল পাস করার জন্য প্রয়োগ করা যেতে পারে ' দীর্ঘ ” এর যুক্তি হিসাবে মান এবং একটি পূর্ণসংখ্যা হিসাবে ফেরত দিন।



বাক্য গঠন





গণিত . সঠিকভাবে ( দীর্ঘ ভাল )

এই সিনট্যাক্সে, ' দীর্ঘ ভ্যাল ' মানে সেই মানটিকে বোঝায় যা একটি হিসাবে ফেরত দিতে হবে int

উদাহরণ
আসুন নিম্নলিখিত উদাহরণটি পর্যালোচনা করি:



পাবলিক ক্লাস longtoint2 {
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
দীর্ঘ পছন্দ1 = 8624675L ;
দীর্ঘ val2 = 3482398L ;
int updateVal1 = গণিত . সঠিকভাবে ( পছন্দ1 ) ;
int updVal2 = গণিত . সঠিকভাবে ( val2 ) ;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updateVal1 ) ;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updVal2 ) ;
}
}

এই কোড স্নিপেটে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  • প্রথমত, দুটি শুরু করুন ' দীর্ঘ 'মান।
  • বিঃদ্রঃ: উল্লেখিত ' এল 'মানগুলির মধ্যে প্রতিনিধিত্ব করে এবং পার্থক্য করে' দীর্ঘ ' থেকে মান ' int 'মান।
  • এর পরে, প্রয়োগ করুন ' Math.toIntExact() ” পদ্ধতি দুইবার এবং উভয় প্রারম্ভিক দীর্ঘ মান জমা করে, তাদের পূর্ণসংখ্যাতে রূপান্তর করার পরামিতি হিসাবে।
  • অবশেষে, কনসোলে রূপান্তরিত পূর্ণসংখ্যার মানগুলি লগ করুন।

আউটপুট

উপরের ফলাফলে, এটি বিশ্লেষণ করা যেতে পারে যে সংশ্লিষ্ট পূর্ণসংখ্যার মানগুলি প্রদর্শিত হয়।

বিঃদ্রঃ: রূপান্তর (লং থেকে int) প্রক্রিয়াটি ঠিক কাজ করে যখন “এর মান দীর্ঘ ” এর সর্বোচ্চ মানের থেকে কম বা সমান int ”, অর্থাৎ, (2147483647)। অন্য ক্ষেত্রে, একটি ত্রুটির সম্মুখীন হয় এবং সেইসাথে ডেটা ক্ষতি হতে পারে।

প্রদর্শন
সীমাবদ্ধতার দিকে নিয়ে যাওয়া আলোচিত ধারণাটি লক্ষ্য করা যাক:

উপরের উদাহরণে, কেবলমাত্র পরবর্তীটি বাড়ান “ দীর্ঘ ” মান এবং রূপান্তর সঞ্চালন. এটি সম্মুখীন হতে হবে ' পূর্ণসংখ্যা ওভারফ্লো ' সীমাবদ্ধতা যেহেতু রূপান্তরিত মান 'কে ছাড়িয়ে গেছে int 'সর্বোচ্চ সীমা।

পদ্ধতি 2: 'সংকীর্ণ টাইপকাস্টিং' ব্যবহার করে জাভাতে দীর্ঘকে int-এ রূপান্তর করুন

' টাইপকাস্টিং ” একটি আদিম ডেটা টাইপের অন্যটিকে একটি মান নির্ধারণের সাথে মিলে যায়৷ এই ক্ষেত্রে, ' সংকীর্ণ টাইপকাস্টিং ' উচ্চতর ডেটা টাইপ থেকে কার্যকর হয়, যেমন, ' দীর্ঘ 'লোয়ার ডাটা টাইপে রূপান্তরিত হয়' int ” এটি শুধুমাত্র বন্ধনীতে পছন্দসই টাইপ অনুসরণ করে রূপান্তরিত করা প্রয়োজন এমন মান স্থাপন করে অর্জন করা যেতে পারে।

উদাহরণ
নিম্নলিখিত উদাহরণ আলোচিত ধারণা ব্যাখ্যা করে:

পাবলিক ক্লাস longtoint {
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
দীর্ঘ পছন্দ1 = 647467L ;
দীর্ঘ val2 = 348 239L ;
int updateVal1 = ( int ) পছন্দ1 ;
int updVal2 = ( int ) val2 ;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updateVal1 ) ;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updVal2 ) ;
}
}

কোডের উপরের লাইনগুলিতে:

  • একইভাবে, দুটি শুরু করুন ' দীর্ঘ 'মান।
  • পরবর্তী ধাপে, প্রয়োগ করুন ' সংকীর্ণ টাইপকাস্টিং ' যে মানটিকে রূপান্তর করতে হবে সেটিকে পছন্দসই টাইপ দ্বারা অনুসরণ করে স্থাপন করে, যেমন, ' int
  • সবশেষে, রূপান্তরিত ' int ” কনসোলে মান।

আউটপুট

এই আউটপুটে, এটি দেখা যায় যে ' দীর্ঘ 'মানগুলি 'এ রূপান্তরিত হয় int “মান, যথাযথভাবে।

পদ্ধতি 3: 'intValue()' পদ্ধতি ব্যবহার করে জাভাতে লং অবজেক্টকে int-এ রূপান্তর করুন

দ্য ' intValue() জাভাতে ' পদ্ধতি সংশ্লিষ্ট সংখ্যার মান ' আকারে প্রদান করে int ” এই পদ্ধতিটি কেবল যুক্ত দীর্ঘ রূপান্তর করার জন্য প্রয়োগ করা যেতে পারে ' বস্তু ” পূর্ণসংখ্যায়।

উদাহরণ
রূপান্তর সঞ্চালনের জন্য নীচের প্রদত্ত উদাহরণের মাধ্যমে যান:

পাবলিক ক্লাস longtoint3 {
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং [ ] args ) {
দীর্ঘ val1 = নতুন দীর্ঘ ( 8624675L ) ;
দীর্ঘ val2 = নতুন দীর্ঘ ( 3482398L ) ;
int updateVal1 = পছন্দ1 intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updateVal1 ) ;
পদ্ধতি. আউট . println ( 'পূর্ণসংখ্যার মান হল:' + updVal2 ) ;
}
}

উপরের কোড ব্লকে:

  • প্রথমে দুটি তৈরি করুন ' দীর্ঘ 'এর মাধ্যমে বস্তু নতুন ' কীওয়ার্ড এবং ' দীর্ঘ() 'নির্মাতা, যথাক্রমে।
  • কনস্ট্রাক্টর প্যারামিটারগুলিতে, দীর্ঘ মানগুলি নির্দিষ্ট করুন যেগুলিকে 'এ রূপান্তরিত করতে হবে int
  • এখন, সংযুক্ত করুন ' intValue() 'উভয়টি তৈরি করা বস্তুর সাথে পদ্ধতি এবং জমা হওয়াকে রূপান্তর করুন' দীর্ঘ 'মানগুলি' পূর্ণসংখ্যা 'এবং তাদের প্রদর্শন করুন।

আউটপুট

উপরের ফলাফলটি বোঝায় যে বস্তুর মানগুলি 'এ রূপান্তরিত হয় পূর্ণসংখ্যা 'যথাযথভাবে।

উপসংহার

জাভাতে লংকে int-এ রূপান্তর করতে, প্রয়োগ করুন “ Math.toIntExact() 'পদ্ধতি, ' সংকীর্ণ টাইপকাস্টিং 'পন্থা, বা ' intValue() 'পদ্ধতি। এই পদ্ধতিগুলি প্রারম্ভিক দীর্ঘ মান এবং বস্তুকে একটি পূর্ণসংখ্যাতে রূপান্তরিত করে যে ' দীর্ঘ ' যে মানটিকে রূপান্তর করতে হবে তা ' এর সর্বোচ্চ মান অতিক্রম করবে না int ” এই ব্লগটি জাভা ব্যবহার করে লং থেকে int-এ রূপান্তর করার জন্য নির্দেশিত।