我有char
数组:
char* chararray = new char[33];
和
int
:int exponent = 11111111;
我想做的是,但对方法感到困惑,是:将
exponent
的值输入chararray
。由于限制,exponent
必须占用chararray
的第二到第九个值。 chararray
将全部为32 0,我希望它变为0xxxxxxxx0000 .... 00,其中x是exponent
中的8位数字。此外,没有像atof或atoi这样的内置转换函数。我还想避免使用不是您真正需要的Floats或doubles。
注意,这是为了使IEEE754 32位值有所了解。
如有需要,将进行编辑以获取其他详细信息或进行说明。
最佳答案
使用'0'
初始化数组后,尝试以下操作:
for(int i=9; i>=2; i--) {
chararray[i] = (exponent%10) + '0';
exponent = exponent/10;
}
chararray[32] = '\0';
关于c++ - C++,Integer和Char数组转换麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17439690/