Я использую скрипт Python 2.7, и недавно у меня возникла эта проблема преобразования при переходе с плавающей запятой на uint8, где отрицательное значение было не обрезкой до 0, а значением 256.
, упрощая мой код,это может выглядеть примерно так:
a = -72.0
b = np.array(a, dtype=np.uint8)
c = np.array(np.clip(a,0,255),dtype=np.uint8)
print 'a =',a, 'b =',b, 'c =', c
a = -72.0 b = 184 c = 0
Я просто пытаюсь понять, почему b не было установлено в 0, но вместо этого оно перешло на 256-72 = 184.Если у кого-нибудь есть объяснение или хорошая ссылка на тип данных, который я могу прочитать, было бы здорово.
Спасибо