int8 vs int (3) (3)

6次浏览(最近30天)
盖伦伊莱亚斯
盖伦伊莱亚斯 2015年4月5日
当我尝试运行int(3)或int('b')时,我得到一个错误:未定义函数'int'的输入参数类型为'char'。
但是当我运行int8(3)或int8('b')(或任何其他int类型)时,我得到了预期的结果。为什么?

接受的答案

雨果
雨果 2015年4月5日
至少在Matlab 2015中,函数“int”与过滤器(在filtstates包中)或集成(在符号包中)有关,但与强制转换数据类型无关。
用于转换数据的函数,包括“int8”,请参见
MATLAB >语言基础>算子和基本运算>算术>整数
在Matlab文档中。
希望这个有帮助。
1评论
盖伦伊莱亚斯
盖伦伊莱亚斯 2015年4月6日
谢谢你的帮助!

登录评论。

答案(1)

杰夫•海斯
杰夫•海斯 2015年4月5日
盖伦—— int 不是一个内置的MATLAB函数。在命令窗口中,输入
哪一个int -
你会看到这条信息
“int”发现。
这是有意义的,因为为了将某个数转换为整数,您需要指定该(新)整数中使用的位数。这就是为什么 int8 工作,因为它将值转换为8位有符号整数。同样,有一些函数可以将数据转换/强制转换为16、32和64位的带符号整数。存在等价的函数来转换/强制转换为无符号整数。
1评论
盖伦伊莱亚斯
盖伦伊莱亚斯 2015年4月6日
回答得很好,非常感谢

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!