Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar 16-ти ричная в 10-ти ричную.rar
(596.1 Kb, 10 просмотров)

El Scorpio
Решил задачу в "лоб", как говориться!
Есть идейки, как упростить или улучшить код?!

Код: Выделить весь код
//#################################// /* ПЕРЕВОД ИЗ 16 В 10 */ //#################################// 
Simbol2[0] = 0; 
Simbol2[1] = 1;
Simbol2[2] = 2; 
Simbol2[3] = 3; 
Simbol2[4] = 4;
Simbol2[5] = 5; 
Simbol2[6] = 6; 
Simbol2[7] = 7; 
Simbol2[8] = 8; 
Simbol2[9] = 9; 
Simbol2[10] = "a"; 
Simbol2[11] = "b"; 
Simbol2[12] = "c"; 
Simbol2[13] = "d"; 
Simbol2[14] = "e"; 
Simbol2[15] = "f"; 

Simb2[0] = 0; 
Simb2[1] = 1; 
Simb2[2] = 2; 
Simb2[3] = 3; 
Simb2[4] = 4; 
Simb2[5] = 5; 
Simb2[6] = 6; 
Simb2[7] = 7; 
Simb2[8] = 8; 
Simb2[9] = 9; 
Simb2[10] = 10; 
Simb2[11] = 11; 
Simb2[12] = 12; 
Simb2[13] = 13; 
Simb2[14] = 14; 
Simb2[15] = 15;
 
b2 = LabeledEdit4->Text; j=b2.Length(); //функция возвращает количество символов в строке 
j=j-1; //отнимаем единицу для перевода в десятиричную систему 
//Вносим в массив символы строки
 //Start//
 for(i=1; i<=j+1; i++) { 
Simbol[i]=b2.SubString(i,1);// функция выделяет 1 симолов, начиная с i из строки b2 } 
//End//
 //Присваиваем массиву числовые значения 16-ти ричной кодировки //Start// for(i=1; i<=j+1;i++) { for(k=0; k<=16;k++) { if(Simbol[i]==Simbol2[k]) { Simb[i] = Simb2[k]; //ShowMessage(Simb2[k]); } } } 
//End// 
//Перевод чисел из 16 в 10 
//Start// code10 = 0; // на всякий случай обнуляем 
for(i=1; i<=j+1;i++) { 
if(i==1) { code10+= Simb[j+1]; } else { //возведение в степень числа 16 int S16 = 0; // на всякий случай обнуляем 
for(k=1; k<i; k++) { if(k==1){S16+=16;} // else{S16=S16*16;} // } code10+= Simb[j+2-i]*S16; } } //End// LabeledEdit3->Text = code10; // запись полученного значения Edit
P.S.
IntToHex() - Работает
HexToInt() - не определена (не работает)

Последний раз редактировалось Alexey271, 25-04-2011 в 09:56. Причина: добавление


Отправлено: 09:54, 25-04-2011 | #6