powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перевод hex to binary
12 сообщений из 37, страница 2 из 2
Перевод hex to binary
    #39017108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JurijusDimitry Sibiryakovпропущено...

Вот тут замени 6 на 6*999 и вынеси этот вызов за пределы цикла.

К садежелению это не менят скорость.
Скорость уже 861 КБ/с могли кот и каридоры.
Мне стыдно за человечество. Когда инопланетяне через 10^8 лет откопают твой исходник
они будут биться в истерике головами об землю и выцарапывать себе глазищи.

P.S. Ах да ... конечно скорость не меняется. Это хорошее основание сохранить индусский
код навечно.
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017115
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
Спасибо,
Я укорочу используя for, if и char.
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017120
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonJurijusпропущено...

К садежелению это не менят скорость.
Скорость уже 861 КБ/с могли кот и каридоры.
Мне стыдно за человечество. Когда инопланетяне через 10^8 лет откопают твой исходник
они будут биться в истерике головами об землю и выцарапывать себе глазищи.

P.S. Ах да ... конечно скорость не меняется. Это хорошее основание сохранить индусский
код навечно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
for(us=0; us<16; ui++)
{
if(us=0){s[0]='0';s[1]='\0';s[2]='\0';}
if(us=1){....
....
if(stricmp(s,ss[y].buffer)==0)

}
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017127
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonJurijusпропущено...

К садежелению это не менят скорость.
Скорость уже 861 КБ/с могли кот и каридоры.
Мне стыдно за человечество. Когда инопланетяне через 10^8 лет откопают твой исходник
они будут биться в истерике головами об землю и выцарапывать себе глазищи.

P.S. Ах да ... конечно скорость не меняется. Это хорошее основание сохранить индусский
код навечно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
for(us=0; us<16; ui++)
{
if(us==0){s[0]='0';s[1]='\0';s[2]='\0';}
if(us==1){s[0]='1';s[1]='\0';s[2]='\0';}
if(us==2){s[0]='2';s[1]='\0';s[2]='\0';}
if(us==3){s[0]='3';s[1]='\0';s[2]='\0';}
if(us==4){s[0]='4';s[1]='\0';s[2]='\0';}
if(us==5){s[0]='5';s[1]='\0';s[2]='\0';}
if(us==6){s[0]='6';s[1]='\0';s[2]='\0';}
if(us==7){s[0]='7';s[1]='\0';s[2]='\0';}
if(us==8){s[0]='8';s[1]='\0';s[2]='\0';}
if(us==9){s[0]='9';s[1]='\0';s[2]='\0';}
if(us==10){s[0]='a';s[1]='\0';s[2]='\0';}
if(us==11){s[0]='b';s[1]='\0';s[2]='\0';}
if(us==12){s[0]='c';s[1]='\0';s[2]='\0';}
if(us==13){s[0]='d';s[1]='\0';s[2]='\0';}
if(us==14){s[0]='e';s[1]='\0';s[2]='\0';}
if(us==15){s[0]='f';s[1]='\0';s[2]='\0';}
if(stricmp(s,ss[y].buffer)==0)

}
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017163
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инопланетный рефакторинг №1.

Чисто по приколу создадим массивчик.

Код: plaintext
1.
char *hex = "0123456789abcdef";
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017164
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще с Альфа-Центавры мне подсказывают.

Для всех состояний цикла эти вычисления исполняются всегда и не зависят от us (или ui)

Код: plaintext
1.
2.
3.
4.
5.
6.
for(us=0; us<16; ui++)
{
     s[1]='\0';
     s[2]='\0';
     ....
}
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017171
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonЕще с Альфа-Центавры мне подсказывают.

Для всех состояний цикла эти вычисления исполняются всегда и не зависят от us (или ui)

Код: plaintext
1.
2.
3.
4.
5.
6.
for(us=0; us<16; us++)
{
     s[1]='\0';
     s[2]='\0';
     ....
}
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017189
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonИнопланетный рефакторинг №1.

Чисто по приколу создадим массивчик.

Код: plaintext
1.
char *hex = "0123456789abcdef";



Еще укоротим.:
Код: plaintext
1.
2.
char s1[17]="0123456789abcdef"; fg=0; for(us=0; us<16 us++)
{s[0]=s1[fg]; s[1]='\0'; s[2]='\0'; fg++;if(stricmp(s,ss[y].buffer)==0) {....}}
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39017205
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ай молодца. Теперь давай еще подумаем как вышвырнуть из цикла stricmp.

И прога без "переводов строки" - дурной стиль.

Марсиане засмеют.
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39018798
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonИнопланетный рефакторинг №1.

Чисто по приколу создадим массивчик.

Код: plaintext
1.
char *hex = "0123456789abcdef";


Cпасибо, за подсказку.
Это избавило меня от лишних строчек.
код.:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
     ofstream a("hexbinary.txt",ios::out);
  {}
  a.close();
int de=0,l=0,j=0,int rt=1,int y=0,int fg=0,ug=0,xc=1,ghu=0,fgu=0,ui;
long byte=0,speed;
ofstream hexbinary;
char oldname[65] = "0000000100100011010001010110011110001001101010111100110111101111";
char ax[17]="0123456789abcdef";
					           fgu=0;
							for(ui=0;ui<16;ui++)
					{ss[ui].buffer3[0]=ax[fgu]; ss[ui].buffer3[1]='\0';ss[ui].buffer3[2]='\0';fgu++;}
								fgu=0;
							for(ui=0;ui<16;ui++)
					{ss[ui].buffer4[0]=oldname[fgu];fgu++; ss[ui].buffer4[1]=oldname[fgu];fgu++;ss[ui].buffer4[2]=oldname[fgu];fgu++;	ss[ui].buffer4[3]=oldname[fgu];fgu++;}
int d=-1,r=-1,sd=0; 
long t1 = clock(); 
ifstream file("rez.txt");
   while (!file.eof())
        {
	     for(r=0; r<99; r++)
			   {
					if(!file.eof())
				{
		
          fill_n( ss[0].s1,7, '\0' );	
  file.read( ss[0].s1,6);//nazvanie "file" v chitke zabisit
  		 string sgim1(ss[0].s1);
						if(!file.eof())
			{
		 		   byte++;
			}
				         	   fg=0;
							for(y=0;y<3;y++)
					{	
	   ss[y].buffer[0]=ss[0].s1[fg]; ss[y].buffer[1]='\0';ss[y].buffer[2]='\0';fg++;
	   ss[y].buffer2[0]=ss[0].s1[fg]; ss[y].buffer2[1]='\0';ss[y].buffer2[2]='\0'; fg++;
							}//for(y=0;y<3;y++)
			  				for(y=0;y<3;y++)
					{
					for(ui=0;ui<16;ui++)
					{	
						if(stricmp(ss[ui].buffer3,ss[y].buffer)==0)
						{
					ss[ug].s2[ghu]=ss[ui].buffer4[0];ghu++; ss[ug].s2[ghu]=ss[ui].buffer4[1];ghu++;ss[ug].s2[ghu]=ss[ui].buffer4[2];ghu++;ss[ug].s2[ghu]=ss[ui].buffer4[3];ghu++;	
						}//if(stricmp(ss[ui].buffer3,ss[y].buffer)==0)
							}//for(ui=0;ui<16;ui++)					
					for(ui=0;ui<16;ui++)
					{
						if(stricmp(ss[ui].buffer3,ss[y].buffer2)==0)
						{		     
                  ss[ug].s2[ghu]=ss[ui].buffer4[0];ghu++; ss[ug].s2[ghu]=ss[ui].buffer4[1];ghu++;ss[ug].s2[ghu]=ss[ui].buffer4[2];ghu++;ss[ug].s2[ghu]=ss[ui].buffer4[3];ghu++;
						}//if(stricmp(ss[ui].buffer3,ss[y].buffer2)==0)
							}//for(ui=0;ui<16;ui++)
						}//for(y=0;y<3;y++)
						///1 block 3 byte
						de=de+1;
						if(de==10 || file.eof())
						{de=0;ug++;xc++;ghu=0;}				
								}//if(!file.eof())
					}//here save 199998 clean
 j=j+1;
    if(j==15) 
{
 if(rt==1)
 {rt=2;
  hexbinary.open("hexbinary.txt",ios::out);
 }
	    for(ug=0; ug<xc; ug++)
       hexbinary<<ss[ug].s2;
  for(ug=0; ug<xc; ug++)
fill_n( ss[ug].s2,240, '\0' );	
j=0; 
ug=0;xc=1;
}// if(j==18)
				   }//here while close
				   file.close();
 if(rt==1)
 {rt=2;
  hexbinary.open("hexbinary.txt",ios::out);
 }
	  	  for(ug=0; ug<xc; ug++)
       hexbinary<<ss[ug].s2;
 hexbinary.close();
  for(ug=0; ug<xc; ug++)
fill_n( ss[ug].s2,240, '\0' );	
j=0;
ug=0;xc=1;
long t2 = clock();
speed=(((w/1)/(t2 - t1))*1000)/1024;
    cout << w/1 << endl;
    cout << "Done!" << endl; 
    cout << "Time: " << (t2 - t1)/1000/60 << " minut."<< endl;
    cout << "Time: " << (t2 - t1)/1000<< " seconds."<< endl;
    cout << "Time: " << (t2 - t1) << " millisends "<<endl;
	cout << "Speed: " << speed << " KB/s "<<endl;
	system("pause");
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39018935
Jurijus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, скорость теперь 970Кб/с.
...
Рейтинг: 0 / 0
Перевод hex to binary
    #39019019
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай а почему ты всё время огрызки кода приводишь?

И форматирование как "курица лапой"...

Неужели не догадался что чем завершённее твой код - тем быстрее мы его
у себя отладим и тем быстрее ты получишь от нас желанный ответ.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перевод hex to binary
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]