为了账号安全,请及时绑定邮箱和手机立即绑定

了解 python 从 float 到 np.uint8 的转换

了解 python 从 float 到 np.uint8 的转换

幕布斯6054654 2021-06-18 17:05:29
我正在运行 Python 2.7 脚本,最近我在从浮点数到 uint8 时遇到了这个转换问题,其中负值不是剪辑为 0 而是 256 - 值。简化我的代码,它可能看起来像这样a = -72.0b = np.array(a, dtype=np.uint8)c = np.array(np.clip(a,0,255),dtype=np.uint8)print 'a =',a, 'b =',b, 'c =', ca = -72.0 b = 184 c = 0我只是想了解为什么 b 没有设置为 0,而是转为 256-72=184。如果有人对我可以阅读的数据类型有一个解释或一个好的链接,那就太好了。
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我相信我找到了自己的答案,这与如何以二进制解释有符号数和无符号数有关。因此,当我由于 uint8 而从有符号 -72 变为无符号时,它们都以相同的方式在二进制级别写入。只是一个读数为-72,另一个读数为+184


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 628 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信