Integers only
7 次查看(过去 30 天)
显示 更早的评论
I have an application in which I have to use completely integer data format. Without using floor,Ceil,fix etc for each and every variable, how can I write a single command so that entire program can perform only in integer mode.?
0 个评论
回答(2 个)
Walter Roberson
2011-5-6
Sean de's answer unfortunately is not sufficient for your purposes.
There is no command or setting that you can use in MATLAB to force the use of all integers. For example
K = K + 1
would interpret the 1 as a double precision number (but would convert it to integer if K is an integer data type.)
Some operations such as mean() internally convert values to double precision, as adding a number of integers is likely to produce integer overflow.
Your options are to use the Fixed Point Toolbox, or to use Embedded MATLAB.
0 个评论
Sean de Wolski
2011-5-6
just define it as integer:
intdata = int64(double_data);
3 个评论
Teja Muppirala
2011-5-7
64-bit arithmetic was added in 2010b.
This will not work in 2010a or earlier:
x = int64(5)
x = 2*x
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fixed-Point Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!