Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
une autre question... Existe-t-il un moyen d'obtenir un int 12 bits via l'union ?... Peu importe comment ))))
SZY : 9-15 bit int idéalement, signe à allouer pas un problème, c'est-à-dire qu'il est possible unsigned int (dans les dernières constructions de MQL apprisunsigned int, il est possible au lieu de uint à utiliser )
Je ne comprends pas... Au secours !)))
J'ai compris que je pouvais allouer certains bits nécessaires de cette façon :
où le bit le plus significatif serait maintenant , pour déterminer le signe du nombre... ne sait pas, c'est-à-dire qu'idéalement, il devrait s'agir d'une fonction
Idéalement, l'utilisation de telles structures devrait être un modèle :
Donc, encore une fois, je ne comprends pas... Au secours ! Au secours !)))
J'ai découvert que je peux allouer certains des bits dont j'ai besoin :
où le bit le plus élevé serait maintenant pour déterminer le signe du nombre... ne sait pas, c'est-à-dire qu'idéalement, il devrait s'agir d'une fonction
Idéalement, l'utilisation de telles structures devrait être un modèle :
Voir. Le masque est la partie significative du nombre, c'est à dire que pour int, il faut décaler un bit de plus, puisque le bit haut vous avez le signe signifie. << Le poste est un désordre. Comme dans votre cas, vous prendrez les bits hauts de int par ce masque, alors que vous avez besoin des bits bas))).
Pour les nombres entiers signés, vous devez prendre séparément la partie significative, prendre séparément le bit de poids fort (signe), puis décaler le bit de poids fort à la position requise et utiliser la fonction OU par bit pour les combiner. Exemple pour int-> 4 bits
int mean4=0xFFFFFFFF>>29
int sign16=1<<31
int sign4=1<3
Maintenant int->int4 regardez vos mains :
1. Nous avons int val
2. int sign=(val&sign16)>>28.
Ici, nous avons pris le signe de notre nombre et l'avons décalé vers la droite (le bit le plus significatif de int4).
3. mean3val=val&mean4
Ici, nous avons obtenu les trois bits les moins significatifs (partie significative) à travers un masque, le reste est coupé.
4. int out=sign|mean3val
Et ici, nous avons combiné le signe avec la partie significative. Nous avons maintenant 4 bits de poids faible, dans lesquels le bit 4 est le signe, et les bits 1 à 3 sont la partie significative, tous les bits au-dessus de 4 ont une valeur de 0. La gamme de valeurs est -8...7 Et oui, si 8 est introduit, il n'y aura pas de 7 et ce sera 0, car tout sera coupé.
Il est plus facile de décaler par le bon nombre de bits et d'utiliser 1 pour le masque. Au moins, c'est plus évident.
Définition du signe : (a>>31)&1 - si 1, alors moins, si 0, alors plus.
Je peux faire des bits significatifs à partir de int avec une solution "frontale", mais je ne peux pas faire une solution universelle... Je ne peux pas ! (((
Il est très probable que je n'ai pas expliqué comment et où je veux aller.
il y a 4 octets int / uint, et il y a mon jeu de données, que je veux décompresser dans l'optimiseur.
supposons que j'ai réussi à l'emballer de cette façon :
quels types j'ai besoin int_XXX, je n'ai pas encore estimé
mais je veux avoir une convivialité sous la forme de ce code
Personne n'a encore trouvé mon erreur ? ))))
Conseil : uint tous les masques devraient être)))
Je peux faire des bits significatifs à partir de int avec une solution "frontale", mais je ne peux pas faire une solution universelle... Je ne peux pas ! (((
Il est très probable que je n'ai pas expliqué comment et où je veux aller.
il y a 4 octets int / uint, et il y a mon jeu de données, que je veux décompresser dans l'optimiseur
supposons que j'ai réussi à l'emballer de cette façon :
quels types j'ai besoin int_XXX, je n'ai pas encore estimé
mais je veux avoir une facilité d'utilisation sous la forme du code suivant
o - indentation (bits), l - longueur (nombre de bits), valeur à ajouter, r - où ajouter
Mais je ne l'ai pas testé.
Comme vous ne surchargez pas une fonction virtuelle, vous utilisez la surcharge.
Il y a clairement quelque chose qui ne va pas ici
Il y a manifestement quelque chose qui ne va pas ici.
Faire de la méthode un modèle et y accéder
Faire de la méthode un modèle et y accéder
C'est un laifhack ! !!
ps : +1 moyen d'écrire quelque chose qui cessera de fonctionner avec la mise à jour quand ils modifieront ce loafhack
C'est une échappatoire ! !!
ps : +1 moyen d'écrire quelque chose qui va juste arrêter de fonctionner avec la mise à jour quand ils vont modifier ce loafhack