Computer >> Máy Tính >  >> Lập trình >> C ++

Chuyển đổi một số thành hệ thập lục phân trong C ++


Giả sử chúng ta có một số nguyên; chúng ta phải nghĩ ra một thuật toán để chuyển nó sang hệ thập lục phân. Đối với các số âm, chúng tôi sẽ sử dụng phương pháp bổ sung của cả hai.

Vì vậy, nếu đầu vào giống như 254 và -12, thì đầu ra sẽ tương ứng là fe và fffffff4.

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau -

  • nếu num1 giống 0, thì -

    • trả về "0"

  • num:=num1

  • s:=chuỗi trống

  • trong khi num là khác 0, do -

    • temp:=num mod 16

    • nếu nhiệt độ <=9, thì -

      • s:=s + temp dưới dạng ký tự số

    • Nếu không

      • s:=s + temp dưới dạng bảng chữ cái

    • num:=num / 16

  • đảo ngược mảng s

  • trả lại s

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   string toHex(int num1){
      if (num1 == 0)
         return "0";
      u_int num = num1;
      string s = "";
      while (num) {
         int temp = num % 16;
         if (temp <= 9)
            s += (48 + temp);
         else
            s += (87 + temp);
         num = num / 16;
      }
      reverse(s.begin(), s.end());
      return s;
   }
};
main(){
   Solution ob;
   cout << (ob.toHex(254)) << endl;
   cout << (ob.toHex(-12));
}

Đầu vào

254
-12

Đầu ra

fe
fffffff4