matlab如何将负数作为int16

时间:2012-06-01 08:46:22

标签: matlab binary numbers

matlab如何将负数作为int16,如-22?

对于正数我注意到当我们有4位数字时,它会像这样打包:

数字是:1254 matlab将其打包为230和4然后如果将这些数字转换为二进制,我们将有23100110为230和100为4。现在您可以将其转换为普通格式,如下所示:

>> bin2dec('10011100110')

ans =

       1254.00

现在它如何适用于负数? (当它打包-22到int16时它转换为234和255)

1 个答案:

答案 0 :(得分:2)

以下是如何在两个方向进行转换:

%# convert from int16 to binary
>> dec2bin(typecast(int16(-22),'uint16'))
ans =
1111111111101010

%# convert from binary representation to int16
>> typecast(uint16(bin2dec('1111111111101010')),'int16')
ans =
    -22