【发布时间】:2016-08-12 12:07:06
【问题描述】:
我正在编写一个程序,它接收用户输入的数字并将它们存储到一个数组中。然后程序会将这些值转换为十进制并存储在一个新数组中。我无法将二进制值转换为正确的位大小。
例如,用户输入3 和4。
我的程序存储它们并将它们转换为二进制,从而产生11 和100。我怎样才能让它存储011和100?
我相信我需要转换为 char 数组或某种字符串,但我不知道应该遵循哪些步骤。
【问题讨论】:
-
你可以使用 std::string binary = std::bitset(num).to_string();这里 8 代表你需要的二进制文件的长度,num 是用户传递的 num。
-
如果 3 是 11,你给出的输出是正确的,它仍然与 011 相同,所以我看不出这样做的意义。想一想,因为您的问题是您永远不知道用户输入的数字有多大以及要添加多少个零。总结你想做的事情是没有意义的。
-
除非您使用 3 位位字段,否则您不能只存储 3 位,即使您仍然以二进制形式存储,其中
11==011.你的问题没有意义。
标签: c++ arrays string binary decimal