Показать сообщение отдельно
Старый 18.10.2007, 17:20   #3
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Re: 256-ричное в 2-ичное в 10-ричное...

посоветую такой документ...

цитата из него:

Пример на C для перевода 18 в 7-ричную систему выглядит так: (корректно работает до основания 10, дальше появятся «цифры» :;<=>?@012 и т.д.)

void perevod( unsigned int num, unsigned int base )
{
#define LENGTH ( 8 * sizeof( unsigned int ) ) /* размер с запасом */

char str[ LENGTH + 1]; /* +1 для символа [[EOS]] */
char *pstr = str + LENGTH - 1; /* начинаем заполнять цифрами с конца */

str[ LENGTH ] = '\0'; /* добавляем EOS */

if( num == 0 ) *pstr = '0'; /* если цикл не будет крутиться */
else
do
{
*pstr-- = '0' + num % base; /* заполняем цифрами, сдвигаясь влево */
num /= base;
}
while( num > 0 );

printf( "%s\n", pstr + 1 ); /* печатаем, начиная с 1го ненулевого символа */

#undef LENGTH /* уже не нужно */
}

void main()
{
perevod( 18, 7 );
}
также приведены алгоритмы по перевода любых систем в десятеричную... Ваш вариант можно комбинировать... 256ричную в 10ричную а потом в двоичную...

(Offline)
 
Ответить с цитированием