Il semble que Python ne prend pas en charge la virgule flottante à simple précision en tant que spécification de langage, mais comme il était nécessaire d'entrer et de sortir la valeur de réglage du matériel auquel le script est lié avec un point fixe à simple précision, convertissez-la via NumPy. Je l'ai fait.
Pour le moment, faites une note pour ne pas l'oublier.
Parce qu'il utilise NumPy
import numpy
Affectez chaque valeur float32 de 4 octets (12 octets au total) contenue dans la chaîne s à la variable.
nums = numpy.fromstring(s, dtype=float32, count=3) self.param1 = nums[0] self.param2 = nums[1] self.param3 = nums[2]
Sort un total de 12 octets à partir de la valeur float32 (4 octets chacun) 3 pour la valeur contenue dans la variable.
params = numpy.array([self.param1, self.param2, self.param3], dtype=float32) return params.tostring()
Recommended Posts