在 C++ 中将 Int32 转换为二进制

Converting Int32 to binary in c++

我在网上搜索后在这里寻求帮助

我正在使用托管 C++ 以 Windows 形式开展一个学校项目。 我的问题是我有一个 Int32 值,我需要使用 System::Convert 将它转换为二进制值,但我不知道如何正确使用它。

我试过这样做:

convertit = Int32::Parse(str);
static unsigned char ToByte(convertit);

感谢您的帮助

System::Convert 可用于两种转换,因为它支持基数 2:

#include "stdafx.h"

using namespace System;
using namespace System::Diagnostics;

int main(array<System::String ^> ^args)
{
   // see http://msdn.microsoft.com/de-de/library/swz6z5ks%28v=vs.110%29.aspx
   int i = System::Convert::ToInt32("101", 2);
   Debug::Assert(i == 5);
   // see http://msdn.microsoft.com/de-de/library/14kwkz77%28v=vs.110%29.aspx
   System::String^ s2 = System::Convert::ToString(i, 10);
   Debug::Assert(s2 == "5");
   return 0;
}

请注意,微软在他们的文档中没有提到 "radix" 这个词,但了解进一步搜索似乎很方便,请参阅 Positional notation - Whosebug 在搜索 [=19 时提供了很多=] fe.

一般来说,如果找不到 cli 示例,我建议始终搜索另一种 .net 语言的示例。

我找到了解决办法。我需要做的就是

         // Binary button checked
         if(this->radioButtonBin->Checked==true)
         { 
         int nb = System::Convert::ToInt32(str, 2);
         this->textBoxClosed->Text=nb.ToString();
         }

         // Decimal button checked
         else
         {
         int nb = Convert::ToInt32(str, 10);
         String^ nb1 = System::Convert::ToString(nb, 2);
         this->textBoxClosed->Text=nb1;
         }