LINUX.ORG.RU

Отображение данных/файла в двоичном формате


0

1

Здравствуйте, подскажите пожалуйста, как средствами Си(готовые функции например) отобразить данные(любые) в бинарном(двоичном) формате? Например чтобы вместо текста, чисел, elf(открытого в текстовом редакторе) и так далее, отображалось только 010101011 ... ?

★★
Ответ на: комментарий от ChAnton

itoa же

Например, превращай всё подготовленное к отображению в строку. Посимвольно применяй itoa().

http://www.cplusplus.com/reference/cstdlib/itoa/

/* itoa example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
  int i;
  char buffer [33];
  printf ("Enter a number: ");
  scanf ("%d",&i);
  itoa (i,buffer,10);
  printf ("decimal: %s\n",buffer);
  itoa (i,buffer,16);
  printf ("hexadecimal: %s\n",buffer);
  itoa (i,buffer,2);
  printf ("binary: %s\n",buffer);
  return 0;
}

justAmoment ★★★★★
()
Ответ на: комментарий от anonymous

Спасибо большое. Отличное решение.

ChAnton ★★
() автор топика
Ответ на: itoa же от justAmoment

Огромное вам спасибо. То что надо!

PS: Правда сейчас почитал, оказывается функция itoa из библиотеки stdlib далеко не всегда переносима, и не всегда поддерживается компиляторами, так как она по смыслу близка к стандартной atoi.

ChAnton ★★
() автор топика

hexdump должен уметь, впрочем он это делает в хексе, что практически то же самое, ибо 16 степень двойки, но компактнее

dimon555 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.