Problem about proximity in matlab

1 view (last 30 days)
C Zeng
C Zeng on 26 Oct 2012
Hi, all,
I defined an array like S=ones(N,x,'uint32'). And I give values to all of them. However I find out the maximum value is 65535 which is 2^16 not 2^32.
I tried 'uint64' but the limit is still 65535, why is that?
Thanks.
  4 Comments
C Zeng
C Zeng on 26 Oct 2012
Oh, when I use class, it is converted to uint16. I need to figure out why?
However I only define uint32 at the beginning. So what could be a reason for converting to uint16? I am confused.
Image Analyst
Image Analyst on 27 Oct 2012
Calling class() causes no conversion. It must have got converted some other way.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 26 Oct 2012
Somewhere along the way, you must have converted it to uint16, perhaps without realizing that you did so.
  4 Comments
C Zeng
C Zeng on 26 Oct 2012
Thanks, Walter. I think it somewhere convert to double, however, double is more than uint32, right? Does it matter?
C Zeng
C Zeng on 26 Oct 2012
Now, I shut all programs off and restart it, seems that there is no such convert data type problems.

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!