フィルターのクリア

why leading zeros are gets disappeared when i convert an character array to double matrix and can i convert the character array to binary matrix if yes then plz. suggest?

5 ビュー (過去 30 日間)
g=str2num(c); c is character array. why leading zeros are gets disappeared when i convert an character array to double matrix and can i convert the character array to binary matrix if yes then plz. suggest..
  1 件のコメント
aditya kumar sahu
aditya kumar sahu 2016 年 11 月 10 日
a=imread('f.jpg');
c=dec2bin(b); /*here c is a character array*\
d=num2cell(c);/*here d is a cell array*\
g=str2num(c);/*here g is a double array*\
we can see in g the binary values leading zeros are eliminated.this is my first doubt
again can i convert the character array 'c' to binary matrix.
Thank you

サインインしてコメントする。

回答 (2 件)

Guillaume
Guillaume 2016 年 11 月 10 日
Because the numbers 001, 01, 1 are all the same (and so is 1 with an infinite numbers of leading 0), numbers are printed without leading zeros. It's the same way we normally write numbers.
Note that matlab has no concept of a binary number. For matlab the number 1001, is the decimal integer between 1000 and 1002, not the equivalent of decimal 9.
As I said before there are matlab functions to manipulate bits of numbers without having to convert them to string or decimal numbers posing as binary.
Also be aware that str2num is a very dangerous function, str2double is much safer. str2num will not just convert strings to numbers, it will also execute any instruction in the string (e.g. format the hard drive).
  1 件のコメント
John D'Errico
John D'Errico 2016 年 11 月 10 日
It is not even that numbers are printed without the leading zeros. The leading zeros are simply not stored when the number is converted to a double.

サインインしてコメントする。


KSSV
KSSV 2016 年 11 月 10 日
sprintf('%05d',5)

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by