matlab如何将负数作为int16,如-22?
对于正数我注意到当我们有4位数字时,它会像这样打包:
数字是:1254 matlab将其打包为230和4然后如果将这些数字转换为二进制,我们将有23100110为230和100为4。现在您可以将其转换为普通格式,如下所示:
>> bin2dec('10011100110')
ans =
1254.00
现在它如何适用于负数? (当它打包-22到int16时它转换为234和255)
答案 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