Я очень новичок в языке C. Мне понадобится небольшая программа для преобразования int в двоичный файл и двоичный файл, предпочтительно сохраненный в массиве, чтобы я мог дополнительно разбить их для целей декодирования. я следующее:C Программирование Преобразование целого в двоичный массив
#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");
}
}
Из приведенного выше кода, я могу хранить двоичное значение в массиве с именем обр. Но вместо того, чтобы получать двоичный код: 101000, массив теперь подобен {"0", "0", "0", "1", "0", "1"}, что является обратным правильным ответом. Итак, вопрос, как получить массив в правильном порядке или перевернуть его, возможно? У меня 1 вещь наверняка - максимальная длина массива не будет превышать 8 элементов.
Следующий вопрос, это преобразование будет использоваться повторно. Итак, я планирую поместить его в функцию, чтобы можно было вызвать функцию, передать в целое число и получить массив в ответ. Но передать массив как возвращаемое значение, возможно ли это?
Благодарим за помощь.
Начните с размышлений о том, как вы это сделаете вручную. Затем поместите это в код. Значение в int уже двоично. Существует много разных способов сделать это, особенно если вы сообщаете, что вы знаете о том, как компьютеры хранят данные. Но я предполагаю, что это назначение для класса, так как это то, что у большинства школ вы делаете раньше. – ydobonebi
HI Quinn, это не задание в любом случае. Я далеко после школы. Просто я делаю больше на C#, PHP и JAVA. Не какой-либо C-язык. Печатать как BINARY легко с int, но для их хранения я пока не могу поймать мяч. –
Вы не можете передать массив в C. Вы должны «malloc» в функции и вернуть указатель на адрес. –