if i want convert binary to text:as s = ('101011101011010101011010'); then i want convert eaceh 8bit to character when use function bin2str(s); give error: "can not convert more than 52 bit" it consider "s" one character but i want for examble: S = '101011101011010101011010'; [a,b] =size(s) a=1 b=24; I want convert s to 3characters as output is==>'abc'

답변 (2개)

Andrei Bobrov
Andrei Bobrov 2012년 2월 20일

1 개 추천

a = reshape(s-'0',[],3)'
out = sprintf('%d',(a*(2.^(size(a,2)-1:-1:0).'))')
OR
a = reshape(s,[],3)'
out = sprintf('%d',bin2dec(a)')
Image Analyst
Image Analyst 2012년 2월 20일

0 개 추천

How about this:
S = '101011101011010101011010'
S = reshape(S, length(S)/8, 8)
decimalValues = bin2dec(S)
In the command window:
S =
101011101011010101011010
S =
10100100
01011011
11110110
decimalValues =
164
91
246

댓글 수: 2

user06
user06 2015년 4월 29일
ok this is fine .. it is giving the decimal values. now what should i do to get string by these bits?
Stephen23
Stephen23 2015년 4월 29일
편집: Stephen23 2015년 4월 29일
@Anamika jain: This will help you:

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

질문:

2012년 2월 20일

편집:

2015년 4월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by