Ma structure de données est initialisé comme suit:convertir une valeur en ligne, la colonne et l'omble
[[0,0,0,0,0,0,0,0] for x in range(8)]
8 caractères, 8 rangées, chaque rangée comporte 5 bits pour des colonnes, de sorte que chaque entier peut être dans la plage comprise entre 0 et 31 inclusivement.
Je dois convertir le nombre 177 (peut être entre 0 et 319) en char, en ligne et en colonne. Je vais essayer à nouveau, cette fois avec un meilleur exemple de code. Aucun bit n'est défini.
Ok, j'ai ajouté l'inverse au problème. Peut-être que ça va aider.
chars = [[0,0,0,0,0,0,0,0] for x in range(8)]
# reverse solution
for char in range(8):
for row in range(8):
for col in range(5):
n = char * 40 + (row * 5 + col)
chars[char][row] = chars[char][row]^[0, 1<<4-col][row < col]
for data in range(320):
char = data/40
col = (data - char * 40) % 5
row = ?
print "Char %g, Row %g, Col %g" % (char, row, col), chars[char][row] & 1<<4-col
votre code ressemble à 4x4, de toute façon pas clair comment 177 doit être divisé en char, ligne, col. Pouvez-vous décrire ce que vous essayez de faire? –
C'est pour un 8x5 :) Je ferai un meilleur exemple. – Scott