Перевод из long в char и обратно - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать функцию для перевода переменной типа long в символьную строку в двоичном представлении ( ltoab( long num, char s[]) ) и тестирующую программу к ней и функцию для обратного перевода(т.е. из символьного массива получить число типа Long) я сделал первую часть задания, а теперь не очень понимаю, как сделать обратную функцию
#include <stdio.h>
 
void conv(long n, char string[32]) {
int c, k, i, y, cnt;
y = 0; cnt = 0;
char result[32];
for (c = 31, i = 0; c >= 0; c--, i++) {
k = n » c;
if (k & 1) string[i] = '1'; else string[i] = '0';
}
string[31] = '\0';
for (i = 0; i<32; i++) {
if (y == 0) {
for (;;) {
if (string[i] == '0') { i++; }
else { y = 1; break; }
}
}
result[cnt] = string[i]; cnt++;
}
result[cnt] = '\0';
printf("%s\n", result);
}
int main() {
char string[32];
long number;
printf("Enter number: "); scanf_s("%d", &number);
conv(number, string);
return 0;
}

Решение задачи: «Перевод из long в char и обратно»

textual
Листинг программы
do r = r*2 + *p - '0' while (*p++);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы