Autor
|
Tema: Código más eficiente (Leído 8,923 veces)
|
rir3760
Desconectado
Mensajes: 1.639
|
Tambien puedes suplantar max(a, max(b, c)) por: ((a>((b>c)?b:c))?a:((b>c)?b:c)) ///o tambien por (Son identicos solo quite los parentesis cosa NO recomendada!¡): a>b>c?b:c?a:b>c?b:c
No. Esto porque el operador ">" tiene mayor prioridad que "?:" y por ello sin paréntesis esta se procesaría así: Como ya comentaste mejor una función (C++) o macro (C) para obtener el máximo. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
No. Esto porque el operador ">" tiene mayor prioridad que "?:" y por ello sin paréntesis esta se procesaría así:
Creo que dice claramente NO RECOMENDADA... Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
tig0
Desconectado
Mensajes: 7
|
ahi va el mio para sacar el maximo de 8 numeros de 16 bits #include <iostream> #include <ctime> typedef __declspec(align(8)) struct { short _t[4]; }sal; int main() { sal k, j, e; k._t[0] = 2; k._t[1] = 2342; k._t[2] = 5712; k._t[3] = 32234; j._t[0] = 30353; j._t[1] = 2762; j._t[2] = 23484; j._t[3] = 9853; clock_t start = clock(); __asm { movq mm0, k movq mm1, j pmaxsw mm1, mm0 pshufw mm0, mm1, 0x4e pmaxsw mm1, mm0 pshufw mm0, mm1, 0x11 pmaxsw mm1, mm0 pshufw mm0, mm1, 0x11 pmaxsw mm1, mm0 movq e, mm0 } clock_t end = clock(); short x = 0; std::cout<< e._t[0] << std::endl << end - start << std::endl; std::cin.get(); return 0; }
output 32234 0
|
|
|
En línea
|
|
|
|
prometheus48
Desconectado
Mensajes: 176
Making a Distro...
|
Lo más simple que he podido: #include <iostream> int main() {int a,b,c; std::cout<<"Escribe 3 numeros"; std::cin>>a>>b>>c; int n=(a>b)?(a>c)?a:c:(b>c)?b:c; std::cout<<"El numero mas grande es"<<n;return 0;}
|
|
|
En línea
|
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana. Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas" The knowledge is free
|
|
|
Unbr0ken
Desconectado
Mensajes: 248
|
Lo más simple que he podido: #include <iostream> int main() {int a,b,c; std::cout<<"Escribe 3 numeros"; std::cin>>a>>b>>c; int n=(a>b)?(a>c)?a:c:(b>c)?b:c; std::cout<<"El numero mas grande es"<<n;return 0;}
No porque tu código no posea indentación es más eficiente, tampoco porque no declares el nombre de espacios "std" y lo uses en cada llamada a una de sus funciones internas ganará eficiencia. Salud.
|
|
|
En línea
|
Discutir con desconocidos por internet es un ejercicio de imbéciles; todos acaban siendo quinceañeros arrogantes con cantidades infinitas de tiempo libre. NO resuelvo dudas vía MP, para algo está el foro.
|
|
|
prometheus48
Desconectado
Mensajes: 176
Making a Distro...
|
Ya,
Lo se, esta vez lo que quise era hacerlo lo mas simple posible, vamos sigo el principio KISS
Salud a ti tambien. Y Salu2 a todos!
|
|
|
En línea
|
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana. Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas" The knowledge is free
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
mi version: int main() { int vals[] = {0x1456,0x1120,0x2480,0x2345,0x121,0x1900,0x967,0x1356}; __asm { mov ecx,0x8; xor esi,esi xor eax,eax l: mov edx,vals[esi] cmp edx,eax jl m mov eax,edx m: add esi,0x04 loop l } return 0; }
output eax: 0x2480
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
aver si alguien se anima a publicar un reto :3 como antes...
|
|
|
En línea
|
|
|
|
ace332
Desconectado
Mensajes: 66
|
aver si alguien se anima a publicar un reto :3
See.. se aprenden varias cosas al "diseccionar" un problema como se hizo en este hilo. Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
manera mas eficiente de ...
PHP
|
pedraxito
|
5
|
2,748
|
1 Agosto 2007, 10:03 am
por Sanjuu
|
|
|
¿Cuál pedazo de código es más eficiente? (estructura if...else anidada o no)
Programación General
|
Aikanáro Anário
|
5
|
7,339
|
13 Junio 2011, 01:32 am
por Edu
|
|
|
Alguien que me ayude a hacer este codigo mas eficiente
Programación C/C++
|
MellaSystems
|
3
|
2,830
|
10 Marzo 2015, 09:10 am
por eferion
|
|
|
podria ser mas eficiente este codigo ?? consejoss :)
Programación C/C++
|
manuchi
|
3
|
2,599
|
7 Septiembre 2019, 01:33 am
por RayR
|
|
|
[Pregunta]: ¿Este código es eficiente para obtener la IP Pública?
Desarrollo Web
|
Leguim
|
4
|
3,403
|
19 Agosto 2020, 08:26 am
por #!drvy
|
|