Il existe plusieurs listes d'éléments. Le nombre de listes < 8. Le nombre d'éléments dans une liste < 16. L'utilisateur peut sélectionner un élément dans chaque liste. Nous avons donc une séquence d'entiers. Par exemple: 9, 0, 12, 4.Comment enregistrer plusieurs petits entiers dans un entier via le décalage de bits dans Objective C
Il existe un moyen simple de stocker la sélection de l'utilisateur dans un entier (32 ou 64) et de le lire à partir de là?
Peut-être connaissez-vous la manière la plus optimale de stocker une séquence d'entiers de 4 bits?
Merci!
Bienvenue chez SO. S'il vous plaît, définissez "optimal". Voulez-vous dire la mémoire ou la performance? Stocker des nombres dans un nombre entier sera plus efficace en mémoire mais plus lent. Stocker chaque nombre dans un type, quelle taille est égale à la taille d'un mot sur la machine est plus rapide, mais moins efficace. – FreeNickname
Vous pouvez utiliser les champs de bits de C dans les structures. –
En outre, si les listes peuvent contenir un nombre variable d'éléments, vous devez également stocker un certain nombre d'éléments. Comme chaque élément prend 4 bits, et le nombre maximum d'éléments est 16, 16 * 4 = 64, donc il n'y a pas d'espace pour un certain nombre d'éléments à gauche. Vous devrez le stocker séparément. – FreeNickname