在网上搜索后,我在这里寻求帮助
我正在使用托管C ++开发Windows Forms中的学校项目。 我的问题是我有一个Int32值,我需要使用System :: Convert将其转换为二进制值,但我不知道如何正确使用它。
我试过这样做:
convertit = Int32::Parse(str);
static unsigned char ToByte(convertit);
感谢您的帮助
答案 0 :(得分:0)
System :: Convert可以用于两种转换,因为它支持base 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;
}
请注意,microsoft在他们的文档中没有提到“radix”这个词,但是对于进一步搜索来说似乎很方便,请参阅Positional notation - stackoverflow在搜索“radix conversion”fe时提供了很多。< / p>
一般来说,如果找不到cli示例,我建议总是用另一种.net语言搜索一个例子。
答案 1 :(得分:0)
我找到了解决方案。我需要做的只是
// 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;
}