gpt4 book ai didi

enums - 显示对象中的位

转载 作者:行者123 更新时间:2023-12-02 06:22:51 24 4
gpt4 key购买 nike

我正在阅读一本关于 C++ 的书。作者展示了这个枚举:

[Flags] enum class FlagBits{ Ready = 1, ReadMode = 2, WriteMode = 4,
EOF = 8, Disabled = 16};
FlagBits status = FlagBits::Ready | FlagBits::ReadMode | FlagBits::EOF;

他说状态等于“0000 0000 0000 0000 0000 0000 0000 1011”,但是当我将状态写入控制台时:

Console::WriteLine(L”Current status: {0}”, status);

它显示:“当前状态:就绪、ReadMode、EOF”。他怎么知道的,我怎么把状态写到控制台显示它的二进制形式?

最佳答案

你应该看看System::Convert::ToString

int main(array<System::String ^> ^args)
{
FlagBits status = FlagBits::Ready | FlagBits::ReadMode | FlagBits::EOF;

Console::WriteLine(L"Current status: {0}", System::Convert::ToString( ( int ) status, 2 ) );
Console::ReadLine();

return 0;
}

输出:当前状态:1011

编辑:如果您想要空的零“填充”,只需执行以下操作:

Console::WriteLine(L"Current status: {0}", System::Convert::ToString( ( int ) status, 2 )->PadLeft( 32, '0' ) );

如果您希望将其分成字节大小的片段,则只需拆分结果并插入空格/连字符即可。

关于enums - 显示对象中的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com