How to convert binary string to "two's complement" ?

28 ビュー (過去 30 日間)
Alberto Fernandez
Alberto Fernandez 2012 年 12 月 6 日
Hi,
i've a little problem(i think). How could i convert binary string like (110010) for example, to "two's" complement? I searched in internet and in this forum, but have not found anything clear.
Is there any function to convert automatically?
I need to convert to two's complement all of this thirty one strings of 16 bits:
Orbital_Inclination =
1111110100111010
1111100111011000
1111110010011010
0000010011010000
1111111000110100
0001010110010111
0010010000111100
0001101101000000
0000000101111000
1101110010001100
0001100111111111
0001101011100111
0001011000110000
0000000010000100
0001101001111111
0000111000101110
1111011011100101
0000110001100100
1111011101001000
1111100010000111
1111010101101101
0000101000101110
0000101011101001
0001001010111001
0001100101000011
0000011001110100
0001100101110101
0000111010001111
0000110011100110
0001100011011111
0000010100111101
I hope that you may help me :)
Thanks!!
  5 件のコメント
Alberto Fernandez
Alberto Fernandez 2012 年 12 月 6 日
編集済み: Alberto Fernandez 2012 年 12 月 6 日
Ok!
I'm going to try it.
Thanks!
Walter Roberson
Walter Roberson 2012 年 12 月 6 日
Notice that bin2num() is part of the Fixed Point Toolbox.

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

採用された回答

Walter Roberson
Walter Roberson 2012 年 12 月 6 日
Create the number as 16 bit unsigned, uint16() specifically, and then typecast() to 'int16'

その他の回答 (1 件)

Alberto Fernandez
Alberto Fernandez 2012 年 12 月 9 日
Uff...i'm not solve the problem.
Well, first I concatenated two values:
Orbital_Inclination = strcat(valorsTramaBin_9,valorsTramaBin_10);
the result was the char string of my first message.
Then, i would to convert every row of my first string (yes, i know that its not correct to talk about rows in string) to dec. Everyone of rows of my first message are in two's complement yet.
i try to find a solution to convert everyone of this rows to decimal, but i not know how to separate every row.
For example:
1111110100111010 -->value to convert to dec
1111100111011000 --> another value to convert
1111110010011010 --> idem
...
Could you help me?
Thanks!!
  2 件のコメント
Walter Roberson
Walter Roberson 2012 年 12 月 9 日
typecast( uint16(bin2dec(OrbitalInclination)), 'int16')
Alberto Fernandez
Alberto Fernandez 2012 年 12 月 12 日
Thanks Walter :)

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

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by