Je suis intéressé à faire une classe pour stocker des données dans un manoir plus pacte et je sais que je peux stocker des nombres entre 0 et 2^(x) -1 avec facilité, ainsi que booléens par en utilisant des opérateurs au niveau du bit, mais je suis intéressé par des nombres plus impairs comme un maximum de 6 ou quelque chose. Cela fait environ une semaine que je la bouscule dans ma tête et que je fais du google depuis environ une heure, mais je ne trouve pas vraiment d'aide.Pack de plusieurs valeurs dans le type de données unique
Je suis à la recherche d'un algorithme ou quelque chose pour me aider à trouver la meilleure façon pour emballer les données qui se situe entre 0 et un nombre aléatoire qui est compris entre 1 et 32ish ...
Je suis juste brainstorming sur ceci et voudrait savoir également si la compression comme ceci devrait même être regardée. l'une des raisons pour lesquelles je cherche dans ce domaine est pour les tableaux énormes et autres. Désolé si c'est une question stupide, mon cerveau n'a pas été très tranchant récemment.
En outre, un exemple de valeurs max: 1,5,8,3,12,19
Une classe finalisée Je pensais serait quelque chose comme:
public class MyObject{
private long packed;
...
public int getA(){...}
public void setA(){...}
public int getB(){...}
public void setB(){...}
Merci pour l'aide , ~ vzybilly ~
Pourquoi le feriez-vous? –
Je suis intéressé par une compression de données plus extrême tout en maintenant la convivialité des données. J'ai un certain nombre de projets sur l'esprit qui se développent de manière exponentielle et ainsi, donc je voulais faire une classe qui pourrait construire de nouvelles classes qui contient les données souhaitées. Je me souviens aussi d'un chat en ligne dans lequel j'ai fait quelque chose pour stocker 0 ~ 2 et 0 ~ 5 tout en réussissant à le mettre en 4 bits ... mais j'ai oublié les choses qu'ils ont fait pour y arriver et mon meilleur est 5 bits, un 25% supplémentaires – vzybilly
@vzybilly Si vos besoins en données augmentent de façon exponentielle, l'encombrement ne vous aidera pas beaucoup puisque vous n'obtenez au mieux qu'un taux de compression linéaire. – awksp