假设我输入:
a = uint8(200)
a*2
Run Code Online (Sandbox Code Playgroud)
然后结果是400,并且重铸为uint16类型.
然而:
a = array([200],dtype=uint8)
a*2
Run Code Online (Sandbox Code Playgroud)
结果是
array([144], dtype=uint8)
Run Code Online (Sandbox Code Playgroud)
乘法已经以256为模进行,以确保结果保持在一个字节中.
我对"类型"和"dtypes"感到困惑,其中一个用于优先于另一个.如您所见,类型可能会对输出产生显着影响.
例如,我可以创建单个数量的dtype uint8,以便对该数字的操作将以256为模进行吗?或者,我可以创建一个类型(不是dtype)uint8的数组,以便对它的操作产生超出0-255范围的值吗?