জাভাতে ^ অপারেটর
^
জাভাতে একচেটিয়া-বা ("xor") অপারেটর।
আসুন 5^6
উদাহরণ হিসাবে নেওয়া যাক :
(decimal) (binary)
5 = 101
6 = 110
------------------ xor
3 = 011
এটি বিটওয়াইজ ( জেএলএস 15.22.1 ) এবং লজিক্যাল ( জেএলএস 15.22.2 ) জোর জন্য সত্য সারণী :
^ | 0 1 ^ | F T
--+----- --+-----
0 | 0 1 F | F T
1 | 1 0 T | T F
আরও সহজভাবে, আপনি জোরকে "এটি বা এটি, তবে উভয়ই নয় !" হিসাবে ভাবতে পারেন ।
আরো দেখুন
জাভাতে ক্ষয়ক্ষতি
পূর্ণসংখ্যার ক্ষয়ক্ষতি হিসাবে, দুর্ভাগ্যক্রমে জাভাতে এমন কোনও অপারেটর নেই। আপনি ব্যবহার করতে পারেন double Math.pow(double, double)
( int
প্রয়োজনে ফলাফল কাস্টিং )।
আপনি দু'জনের কয়েকটি পাওয়ার গণনা করতে প্রচলিত বিট-শিফটিং ট্রিকটিও ব্যবহার করতে পারেন। এটি হ'ল, কে- দশমিক শক্তির জন্য (1L << k)
দুটি ।k=0..63
আরো দেখুন
মার্জ নোট : এই উত্তর আরেকটি প্রশ্ন যেখানে উদ্দেশ্য exponentiation ব্যবহার করার জন্য একটি স্ট্রিং রূপান্তর করতে ছিল থেকে মিশে গেছে"8675309"
করারint
ব্যবহার না করেইInteger.parseInt
(ক প্রোগ্রামিং ব্যায়াম যেমন^
এখন থেকে -এর মানে exponentiation)। ওপির উদ্দেশ্য ছিল গণনা করা8*10^6 + 6*10^5 + 7*10^4 + 5*10^3 + 3*10^2 + 0*10^1 + 9*10^0 = 8675309
; এই উত্তরের পরবর্তী অংশে সম্বোধন করা হয় যে এই কাজের জন্য ক্ষয়ক্ষতি জরুরি নয়।
হর্ণার স্কিম
আপনার নির্দিষ্ট প্রয়োজনকে সম্বোধন করার জন্য, আপনাকে 10 এর বিভিন্ন শক্তির গণনা করার দরকার নেই আপনি হর্নারের প্রকল্প যাকে বলা হয় এটি ব্যবহার করতে পারেন যা কেবল সহজ নয়, দক্ষ।
যেহেতু আপনি এটি ব্যক্তিগত অনুশীলন হিসাবে করছেন, আমি জাভা কোডটি দেব না, তবে এখানে মূল ধারণাটি রয়েছে:
8675309 = 8*10^6 + 6*10^5 + 7*10^4 + 5*10^3 + 3*10^2 + 0*10^1 + 9*10^0
= (((((8*10 + 6)*10 + 7)*10 + 5)*10 + 3)*10 + 0)*10 + 9
এটি প্রথমে জটিল দেখাতে পারে তবে এটি আসলে তা নয়। আপনি মূলত অঙ্কগুলি বাম থেকে ডানদিকে পড়েন এবং পরবর্তী অঙ্কটি যুক্ত করার আগে আপনি নিজের ফলাফলটি এখন পর্যন্ত 10 দ্বারা গুণাবেন।
টেবিল আকারে:
step result digit result*10+digit
1 init=0 8 8
2 8 6 86
3 86 7 867
4 867 5 8675
5 8675 3 86753
6 86753 0 867530
7 867530 9 8675309=final