Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
otra pregunta... ¿Hay alguna manera de obtener un int de 12 bits a través de la unión? no importa cómo ))))
SZY: 9-15 bit int idealmente, el signo para asignar no es un problema, es decir, es posible unsigned int (en las últimas construcciones de MQL aprendióunsigned int, es posible en lugar de uint a utilizar )
No lo entiendo... ¡ayuda!)))
Me he dado cuenta de que puedo asignar algunos bits necesarios de esta manera:
donde el bit más significativo sería ahora para determinar el signo del número... no lo sé, es decir, lo ideal es que sea una función
idealmente debería ser una plantilla para utilizar tales estructuras en absoluto:
Así que de nuevo no lo entiendo... ¡ayuda! ¡ayuda!)))
Me he dado cuenta de que puedo asignar algunos de los bits que necesito:
donde el bit más alto sería ahora para determinar el signo del número... no lo sé, es decir, lo ideal es que sea una función
idealmente debería ser una plantilla para utilizar tales estructuras en absoluto:
Ver. La máscara es la parte significativa del número, es decir, para int, hay que desplazar un poco más, ya que el bit alto que se tiene significa el signo. <<Los depósitos son un desastre>>. Como en tu caso, tomarás los bits altos de int por esta máscara, mientras que necesitas los bits bajos)).
Para los enteros con signo, hay que tomar por separado la parte significativa, tomar por separado el bit alto (signo), luego desplazar el bit alto a la posición necesaria y utilizar el OR a nivel de bits para combinarlos. Ejemplo para int-> 4 bits
int media4=0xFFFFFF>>29
int sign16=1<<31
int sign4=1<3
Ahora int->int4 mira tus manos:
1. tenemos int val
2. int sign=(val&sign16)>>28.
Aquí hemos tomado el signo de nuestro número y lo hemos desplazado a la posición derecha (el bit más significativo de int4)
3. mean3val=val&mean4
Aquí hemos obtenido los tres bits menos significativos (parte significativa) a través de una máscara, el resto está recortado.
4. int out=signo|media3val
Y aquí hemos combinado el signo con la parte significativa. Ahora tenemos 4 bits de orden inferior, en los que el bit 4 es el signo, y los bits 1 a 3 son la parte significativa, todos los bits por encima de 4 tienen un valor de 0. El rango de valores es -8...7 Y sí, si se introduce 8, no habrá 7 y será 0, ya que todo se cortará.
Es más fácil desplazarse por el número correcto de bits y usar 1 para la máscara. Al menos es más evidente.
Definición del signo: (a>>31)&1 - si 1, entonces menos, si 0, entonces más.
Puedo hacer trozos significativos de int con una solución "de frente", pero no puedo hacer una solución universal... ¡No puedo! (((
Es muy probable que no haya explicado cómo y dónde quiero ir
hay 4 bytes int / uint, y ahí está mi conjunto de datos, que quiero desempaquetar en el optimizador
Supongamos que he conseguido empaquetarlo de esta manera:
qué tipos necesito int_XXX, aún no he estimado
pero quiero tener la usabilidad en la forma de este código
¿Aún no ha encontrado nadie mi error? ))))
Consejo: uint todas las máscaras deben ser))
Puedo hacer trozos significativos de int con una solución "de frente", pero no puedo hacer una solución universal... ¡No puedo! (((
Es muy probable que no haya explicado cómo y dónde quiero ir
hay 4 bytes int / uint, y ahí está mi conjunto de datos, que quiero desempaquetar en el optimizador
Supongamos que he conseguido empaquetarlo de esta manera:
qué tipos necesito int_XXX, aún no he estimado
pero quiero tener una usabilidad en la forma del siguiente código
o - sangría (bits), l - longitud (número de bits), valor a añadir, r - dónde añadir
Pero no lo he probado.
Como no está sobrescribiendo una función virtual, está utilizando la sobrecarga.
Claramente hay algo mal aquí
Es evidente que hay algo que no funciona.
Convertir el método en una plantilla y acceder a ella
Convertir el método en una plantilla y acceder a ella
¡¡Eso es un laifhack!!
ps: +1 forma de escribir algo que simplemente dejará de funcionar con la actualización cuando retoquen este loafhack
¡¡Eso es una laguna jurídica!!
ps: +1 forma de escribir algo que simplemente dejará de funcionar con la actualización cuando retoquen este loafhack