在C ++中将数字转换为十六进制

为了解决这个问题,我们将遵循以下步骤-

  • 如果num1与0相同,则-

    • 返回“ 0”

  • num:= num1

  • s:=空字符串

  • 当num不为零时,执行-

    • s:= s + temp作为字母

    • s:= s + temp作为数字字符

    • temp:= num mod 16

    • 如果temp <= 9,则-

    • 除此以外

    • num:= num / 16

    • 反转数组

    • 返回s

    例 

    让我们看下面的实现以更好地理解-

    #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));

    }

    输入值

    254

    -12

    输出结果

    fe

    fffffff4

    以上是 在C ++中将数字转换为十六进制 的全部内容, 来源链接: utcz.com/z/322350.html

    回到顶部