একটি ইনপুট হিসাবে একটি দশমিক সংখ্যার সাথে প্রদত্ত, কাজটি হল প্রদত্ত দশমিক সংখ্যাটিকে একটি হেক্সাডেসিমেল সংখ্যায় রূপান্তর করা৷
কম্পিউটারে হেক্সাডেসিমেল সংখ্যাকে বেস 16 দিয়ে এবং দশমিক সংখ্যাকে বেস 10 দিয়ে উপস্থাপন করা হয় এবং 0 - 9 মান দিয়ে উপস্থাপিত হয় যেখানে হেক্সাডেসিমেল সংখ্যা 0 - 15 থেকে শুরু হয় যেখানে 10 কে A হিসাবে, 11 কে B হিসাবে, 12 কে C হিসাবে উপস্থাপন করা হয়, D হিসাবে 13, E হিসাবে 14 এবং F হিসাবে 15।
একটি দশমিক সংখ্যাকে হেক্সাডেসিমেল সংখ্যায় রূপান্তর করতে প্রদত্ত ধাপগুলি অনুসরণ করুন −
- প্রথমে প্রদত্ত সংখ্যাটিকে রূপান্তর নম্বরের ভিত্তি মান দিয়ে ভাগ করুন যেমন 6789 কে 16 দ্বারা ভাগ করা কারণ আমাদের 6789 কে একটি হেক্সাডেসিমেল সংখ্যায় রূপান্তর করতে হবে যার ভিত্তি 16 আছে এবং তারপর একটি ভাগফল পেতে হবে এবং এটি সংরক্ষণ করতে হবে। যদি অবশিষ্টাংশ 0-9-এর মধ্যে থাকে তবে সেগুলিকে যেমন আছে তেমনই সংরক্ষণ করুন এবং অবশিষ্টাংশ যদি 10-15-এর মধ্যে থাকে তবে তাদের A - F হিসাবে তাদের অক্ষর আকারে রূপান্তর করুন
- অর্জিত ভাগফলকে হেক্সাডেসিমেল সংখ্যার ভিত্তি মান দিয়ে ভাগ করুন যা 16 এবং বিটগুলি সংরক্ষণ করতে থাকুন।
- সঞ্চিত বিটগুলিতে ডান স্থানান্তর করতে থাকুন
- পদক্ষেপটি পুনরাবৃত্তি করুন যতক্ষণ না অবশিষ্টাংশ অবিভাজ্য বাম থাকে
একটি দশমিক সংখ্যাকে হেক্সাডেসিমেল সংখ্যায় রূপান্তর করার সচিত্র উপস্থাপনা নীচে দেওয়া হল৷
উদাহরণ
Input-: 6789 Divide the 6789 with base 16 : 6789 / 16 = 5 (remainder) 424(quotient) Divide quotient with base: 424 / 16 = 8(remainder) 26(quotient) Divide quotient with base: 26 / 16 = 10(remainder) 1(quotient) Now reverse the remainder obtained for final hexadecimal value. Output-: 1A85
অ্যালগরিদম
Start Step 1-> Declare function to convert decimal to hexadecimal void convert(int num) declare char arr[100] set int i = 0 Loop While(num!=0) Set int temp = 0 Set temp = num % 16 IF temp < 10 Set arr[i] = temp + 48 Increment i++ End Else Set arr[i] = temp + 55 Increment i++ End Set num = num/16 End Loop For int j=i-1 j>=0 j— Print arr[j] Step 2-> In main() Set int num = 6789 Call convert(num) Stop
উদাহরণ
#include<iostream> using namespace std; //convert decimal to hexadecimal void convert(int num) { char arr[100]; int i = 0; while(num!=0) { int temp = 0; temp = num % 16; if(temp < 10) { arr[i] = temp + 48; i++; } else { arr[i] = temp + 55; i++; } num = num/16; } for(int j=i-1; j>=0; j--) cout << arr[j]; } int main() { int num = 6789; cout<<num<< " converted to hexadeciaml: "; convert(num); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
6789 converted to hexadeciaml: 1A85