Matlab乘法错误

Matlab乘法错误,matlab,Matlab,这可能是一个非常愚蠢的问题,但我不能在matlab中乘两个变量。我不知道我做错了什么。这是命令窗口: >> a(200,200) ans = 255 >> a(200,200)*255 ans = 255 答案不应该是65025吗?显然,在这个简单的例子中,我无法理解我做错了什么。 Thx提前解决问题:uint8 uint8是一个用于保存介于0和255之间的整数的类。类uint8的元素之间的大多数运算将在类uint8中产生结果,因为并非所有数字都在0和

这可能是一个非常愚蠢的问题,但我不能在matlab中乘两个变量。我不知道我做错了什么。这是命令窗口:

>> a(200,200)

ans =

  255

>> a(200,200)*255

ans =

  255
答案不应该是65025吗?显然,在这个简单的例子中,我无法理解我做错了什么。
Thx提前解决问题:
uint8


uint8
是一个用于保存介于
0
255
之间的整数的类。类
uint8
的元素之间的大多数运算将在类
uint8
中产生结果,因为并非所有数字都在
0
255
之间的整数区间内,您不能依赖于答案是否正确,而是得到最接近正确的答案。在你的情况下,你会得到
255

试试
class(a)
我猜上面写着
uint8
或者类似的东西。试着换成双倍(a(200200))*255@JensBoldsen是的,你是对的。为什么会这样?它们不是都是整数吗?是的,但是
uint8
变量只保存8位数据;这是0到255之间的任意数字。值
inf
nan
-inf
有空间,因此如果您得到的值超出范围,它将为您提供
0
255
@JensBoldsen Thx大量解释。写下答案,将其标记为正确!