How to represent decimal number

a=180/255; in a matlab program and type 'a' in Command window, it shows the result as '0.7058823529411765' but when b=180; c=255; a=b/c; (which is doing the same function as above) and type 'a' in Command window, it shows the result as '1'

2 commentaires

I don't think you are giving us the complete picture. E.g., on my computer:
>> b=180; c=255; a=b/c;
>> a
a =
0.705882352941177
Please start over with a clean workspace, then type in the above and see what happens. I think you will get the expected results.
If you can reproduce your '1' with other code, please show us that code.
Arun Prem
Arun Prem le 10 Sep 2016
Modifié(e) : Stephen23 le 10 Sep 2016
Thanks for your response. My requirement is, in a Matlab program I have to find the maximum & minimum pixel value in an image and divide it by 255. So I have found the maximum & minimum pixel value using the command in a program. Below lines in a Matlab program.
New=imread('11.jpg');
Dif=rgb2gray(New);
[b,idx]=max(Dif(:));
[c,idx]=min(Dif(:));
a1=b/255;
a2=c/255;
After running the program, When I go to Command prompt and type,
b =175
c =114
a1 =1
a2 =0
But actually a1 and a2 values should be different....

Connectez-vous pour commenter.

Réponses (1)

Steven Lord
Steven Lord le 10 Sep 2016

0 votes

One or both of the variables b and c are of type uint8. See this documentation page for information about how integer arithmetic is performed.

Catégories

Tags

Question posée :

le 10 Sep 2016

Modifié(e) :

le 10 Sep 2016

Community Treasure Hunt

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

Start Hunting!

Translated by