Why isn't three divided by two 1.5?
16 views (last 30 days)
Show older comments
>> x=int16(3) % set x equal to the integer 3
x =
3
>> y=int16(2) % set y equal to the integer 2
y =
2
>> x/y % divide x by y
ans =
2
0 Comments
Answers (2)
Joseph Cheng
on 5 Oct 2015
because it's rounding due to your setting x and y as integers and not double or single precision.
0 Comments
Walter Roberson
on 5 Oct 2015
Division like that on integer data types is defined as being equivalent to converting the data to double, doing the operation, and then converting back to the integer data type. The conversion of double to integer data type is defined as one that rounds. 1.5 rounds to 2 so the result is int16(2)
0 Comments
See Also
Categories
Find more on Logical 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!