C++ 十进制到二进制

C++ 十进制到二进制,c++,binary,console-application,converter,C++,Binary,Console Application,Converter,为了练习对数字系统和数组的操作,我编写了一个十进制到二进制的转换函数。我把整数a转换成二进制,将每个字符(或者我认为是这样)存储在一个数组中,然后显示在屏幕上,但是它显示的字符我不知道,我在aski表中查找了它们,不认识它们,所以我想请求您的帮助,这是代码的图片,还有控制台应用程序 提前感谢。您可能希望在结果中插入数字字符(如'1'),但您指定了字符值。尝试添加'0'的值以获得可读结果(余数+0') 如果将结果数组解释为字符串(这是我建议的),还应将最后一个字符设置为值0(而不是'0'!)以标记

为了练习对数字系统和数组的操作,我编写了一个十进制到二进制的转换函数。我把整数a转换成二进制,将每个字符(或者我认为是这样)存储在一个数组中,然后显示在屏幕上,但是它显示的字符我不知道,我在aski表中查找了它们,不认识它们,所以我想请求您的帮助,这是代码的图片,还有控制台应用程序


提前感谢。

您可能希望在结果中插入数字字符(如
'1'
),但您指定了字符值。尝试添加
'0'
的值以获得可读结果(
余数+0'


如果将结果数组解释为字符串(这是我建议的),还应将最后一个字符设置为值
0
(而不是
'0'
!)以标记c字符串的结尾。

您的输出函数无法正确输出二进制文本,因为:

1) 无法输出字符直到“\0”,因此您的函数将更正输出,直到在int的二进制表示形式中得到第一个0(例如,对于5=101,它将只输出一个带代码0x01的微笑)


2) 数组中的最后一个字符不是'\0',所以cout将输出垃圾,直到'\0'或内存访问异常。

下一次,使用markdown将源代码放入问题中,而不是使用screnshots。@Manu343726我知道,但我也想显示控制台应用程序与结果一起运行,并决定将所有内容作为一个整体发布,但得到了应有的注意。