필터 지우기
필터 지우기

Integers only

조회 수: 10 (최근 30일)
Raviteja
Raviteja 2011년 5월 6일
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.?

답변 (2개)

Walter Roberson
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.

Sean de Wolski
Sean de Wolski 2011년 5월 6일
just define it as integer:
intdata = int64(double_data);
  댓글 수: 3
Sean de Wolski
Sean de Wolski 2011년 5월 6일
Out of curiosity, what version Walter? They work for me in 2009b.
Teja Muppirala
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 CenterFile Exchange에서 Fixed-Point Designer에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by