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

Antworten (1)

Guillaume
Guillaume am 1 Okt. 2014

0 Stimmen

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 Kommentare

Raza
Raza am 1 Okt. 2014
can i make a function like this if yes then how?
Stephen23
Stephen23 am 1 Okt. 2014
Errr... write your own C-like language which includes a cast operation.
Guillaume
Guillaume am 1 Okt. 2014
Raza, it's not clear what you're asking.
In what language do you want to write this? Matlab obviously already has this.
José-Luis
José-Luis am 1 Okt. 2014
Bearbeitet: José-Luis am 1 Okt. 2014
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
Guillaume
Guillaume am 1 Okt. 2014
Bearbeitet: Guillaume am 1 Okt. 2014
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
José-Luis
José-Luis am 1 Okt. 2014
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.

Melden Sie sich an, um zu kommentieren.

Tags

Noch keine Tags eingegeben.

Gefragt:

am 1 Okt. 2014

Kommentiert:

am 1 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by