我一直在想一个问题:
在MATLAB编程语言中为什么要使用双数据类型?
由于历史原因,Matlab中的所有数值默认为double
。最初,double
是Matlab支持的唯一的数字类型。整数类型稍后被移植,并且为了保持向后兼容性,它们被定义为不寻常的行为:在Matlab中隐式地将窄化到整数类型的浮点和整数类型之间的混合类型算术运算。(因为在Matlab中,像1234
这样看起来像整数的数字字面量实际上产生了double
s。)在几乎所有其他编程语言中,混合类型算术运算隐式地将扩展为浮点类型。
这种隐式的缩小行为使得编写Matlab代码变得容易,如果您在任何地方都有整数值,则会悄悄地产生坏结果。因此,大多数Matlab程序员和大多数Matlab程序都只使用double
s。