помогите с исходниками для программы перевода из восьмеричной системы исчеслениия в 16-ти, 10-ти и в двоичную систему ( Visual 2008 )
блин, тут на 5-10 минут дел, могбы и сам сделать. алгоримты простые. достаточно было просто подумать как это сделать Code: #include "stdafx.h" typedef unsigned long ULONG; ULONG OCT2DEC(ULONG i) { ULONG d=0; ULONG x=1; while (i) { d+=(i%10)*x; x*=8; i=i/10; } return d; } void OCT2HEX(ULONG i,char * outhex) { ULONG x,y; char mas[17]="0123456789ABCDEF"; i=OCT2DEC(i); x=i; y=0; while (i) // ýòî ìû âû÷èñëèì äëèííó ïîëó÷àåìîé ñòðîêè { y++; i=i/16; } i=x; outhex[y]=0x00; while (i) // ýòî ìû âû÷èñëèì äëèííó ïîëó÷àåìîé ñòðîêè { outhex[--y]=mas[i%16]; i=i/16; } return; } void OCT2BIN(ULONG i,char * outhex) { ULONG x,y; i=OCT2DEC(i); x=i; y=0; while (i) // ýòî ìû âû÷èñëèì äëèííó ïîëó÷àåìîé ñòðîêè { y++; i=i/2; } i=x; outhex[y]=0x00; while (i) { if (i%2) outhex[--y]='1'; else outhex[--y]='0'; i=i/2; } return; } int main(int argc, char* argv[]) { ULONG ret; char buf[128]; ret=OCT2DEC(42657); printf("OCT 2 DEC = %i\n",ret); OCT2HEX(42657,buf); printf("OCT 2 HEX = %s\n",buf); OCT2BIN(42657,buf); printf("OCT 2 BIN = %s\n",buf); return 0; }
ps. там где иероглифы прорисовались - это был коммент. что в этом месте я предварительно вычисляю длину данные которая должна получиться при конвертировании. Для примере везде конвертится число 42657 сначало в 10-ю, затем в 16-ю а потом в 2-ю. Конверт в 16 и 2 происходит через предварительный конверт в 10-ю
я писал это в VC++ 6 Так что могут быть расхождения с VC++ 2008 В 2008 это будет как Файл - Создать - Проект - Консольное приложение Win32 Потом снять галочку "Предварительно скомпилированный модуль" и нажать Готово Вставить код этот код (удалив всё старое) и заменить int main(int argc, char* argv[]) на int _tmain(int argc, _TCHAR* argv[])
<stdafx.h> это стандартно генерируещийся хидер. когда новый проект создаёшь, отметь чтоб пустой был (Проект в смысле.).
жестокий у тя Си тогда просто тупо удаляй include stdafx.h и пиши #include <stdio.h> #include <stdlib.h> и ставь обратно int main(int argc, char* argv[])
а тут её нету )) Это я просто привел пример перекодирования в расчете на то, что ты хоть чутьчуть знаешь Си.
Project->Properties->C\C++->Precompiled Header-> Create\Use Precompiled Header Выбрать не юзать и все должно норм компилится
Лол. А откуда он будет знать, что ты хочешь сделать: модуль для ядра или динамическую либу? Настрой проект под свои требования - и он скомпилит. А если нихрена не знаешь - то проси добрых дядей, чтобы тебе проект скинули. Или преподу заплати.