我有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/

10-10 07:30