是否有预定义的内置函数将数字转换为C++中的二进制格式?

cod*_*101 3 c++

Integer.toString(n,8) // decimal to octal

Integer.toString(n,2) // decimal to binary

Integer.toString(n,16) //decimal to Hex
Run Code Online (Sandbox Code Playgroud)

我们在java中有这些函数...我们在c ++中有这样的内置函数吗?

Nil*_*ain 13

您可以使用 std::bitset 将数字转换为二进制格式.

使用以下代码段:

  std::string binary = std::bitset<8>(n).to_string();
Run Code Online (Sandbox Code Playgroud)

  • @JonathanWakely请阅读标题问题. (5认同)
  • 这只回答了问题的三分之一. (3认同)
  • @NilutpalBorgohain 它发现这会将整数“n”转换为其具有 8 个二进制数字的二进制数。如果我想在运行时而不是编译时执行此操作怎么办? (3认同)

Viv*_*hto 5

中有一个可用的函数itoastdlib.h,我们可以通过它将整数转换为字符串。它没有在 C 或 C++ 中精确定义,但得到许多编译器的支持。

char *  itoa ( int value, char * str, int base );
Run Code Online (Sandbox Code Playgroud)

伊托亚例子

#include <iostream>
#include <stdlib.h>

int main ()
{
    int i;
    char buffer [33];
    printf ("Enter a number: ");
    scanf ("%d",&i);
    itoa (i,buffer,10);
    printf ("decimal: %s\n",buffer);
    itoa (i,buffer,16);
    printf ("hexadecimal: %s\n",buffer);
    itoa (i,buffer,2);
    printf ("binary: %s\n",buffer);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出

Enter a number: 1750
decimal: 1750
hexadecimal: 6d6
binary: 11011010110
Run Code Online (Sandbox Code Playgroud)

更多详情可以参考itoa

  • 大多数操作系统上不存在“itoa” (4认同)