0

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

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

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

>> bin2dec('10011100110')

ans =

       1254.00

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

4

1 回答 1

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
于 2012-06-01T09:18:11.053 回答