CHAR AND DOUBLE FUNCTION IN MATLAB

How to see the function coding in matlab that uses char to convert decimal valuein to respective ascii character and uses double to convert character into respective ascii decimal value

Answers (1)

Guillaume
Guillaume on 1 Oct 2014
You can't, it's a built-in function of matlab, not an m-file. Most likely it's written in C, and the implementation is trivial in C, it's just a cast.

6 Comments

can i make a function like this if yes then how?
Errr... write your own C-like language which includes a cast operation.
Raza, it's not clear what you're asking.
In what language do you want to write this? Matlab obviously already has this.
No it is not trivial and it isn't a simple cast. Even in C, you can't just cast
double val = 1.0;
char myString[] = (char) val;
That will never work. You need to call a library function like
printf
sprintf
To cast a double into a string or vice-versa. The internal implementation is not trivial. They are easy to use, but that's a totally different story. If in C++ you can use streams. Or libraries like boost::lexical_cast
The OP asked about 'double to convert into respective ascii decimal value', that is in matlab:
d = 65; %is a double in matlab
c = char(d);
That is a simple cast in C:
double d = 65;
char c = (char)d; //c == 'A';
And actually, the reverse doesn't even need a cast. It's just an implicit conversion:
char c = 'A';
double d = c; //d == 65.0
Maybe. I did not interpret the OP's original question like that though, so we might be arguing over nothing until he clarifies.
It might be good to clarify, as you sort of did, that char is not really an absolute type, as its size can change depending on the implementation. It is an integer in disguise. If you take it like that, then yes, it is trivial (in application if not in implementation).
If not, then my comment remains valid.

Sign in to comment.

Tags

No tags entered yet.

Asked:

on 1 Oct 2014

Commented:

on 1 Oct 2014

Community Treasure Hunt

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

Start Hunting!