numpy -将uint 32转换为uint 8

vawmfj5a  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(272)

下面是使用numpy的python代码:

import numpy
a = 423
b = numpy.uint8(a)
print(b)

它给了我结果:
B = 167
uint 8(无符号8位整数)可以表示从0到255的值。我不明白的是numpy如何将值423截断或“截断”为值167。从423减去255(423 - 255)得到168,差了1。有人知道当输入值为255或更大时,numpy在numpy.uint8中使用的公式是什么吗?

yws3nbqq

yws3nbqq1#

不要把它看作减法,它更像是mod的应用。简单地说,numpy.uint8(当前)会截断前8位(即:即数字256),并返回结果数字。看看下面:

>>> bin(423) 
'0b110100111'
>>> bin(numpy.uint8(423))
'0b10100111'
>>> >>> bin(12345)
'0b11000000111001'
>>> bin(numpy.uint8(12345))
'0b111001'

相关问题