MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Vishnu M S
on 30 Jan 2013

I have a character A. I converted this into a binary form(say B). I need to perform some operations using B. While doing this I need to check whether the element B(1)=1 or 0.

For doing so, I write

if B(1)==1

But it doesn't work. It works when I written like this-

if B(1)=='1'

What is the reason? Please tell me...

*No products are associated with this question.*

Answer by Oleg Komarov
on 30 Jan 2013

Accepted answer

You are comparing the char `'1'` with the numeric `1`.

>> double('1') ans = 49

as in the ASCII table.

You have to rescale `'1'` to `1`:

'1'-'0' == 1

and in your case

B(1)-'0' == 1

## 2 Comments

## Jurgen

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/60366#comment_126019

Apparently B is still a character array. Would help if you said how you converted it. Type whos B to see the type.

## Jan Simon

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/60366#comment_126026

I do not understand, what the "binary form" of a character is. Please post the corresponding Matlab code to clear the details.