我对 C 语言很陌生。我将需要一个小程序来转换int
为二进制文件,并且二进制文件最好存储在一个数组中,以便我可以进一步将它们分开以进行解码。我有以下内容:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[20];
int dec = 40;
int i = 0, ArrLen;
if(dec > 0)
{
while(dec > 0)
{
arr[i] = dec % 2;
i++;
dec = dec / 2;
}
}
else
{
printf("Invalid Number");
}
}
从上面的代码中,我可以将二进制值存储在arr
. 但不是得到二进制等价物:101000
,数组现在就像{0, 0, 0, 1, 0, 1}
,这是正确答案的反转。所以问题是,如何以正确的顺序获得一个数组或者可能翻转它?我肯定有一件事,那就是最大数组长度不会超过8
元素。
此转换将被重复使用。所以我打算把它放在一个函数中,这样我就可以调用该函数,传入一个整数,然后将数组作为返回值。那么另一个问题是,获取一个数组作为返回值是否可行?