我无法理解以下结果的原因是什么
>> format hex
>> 10
ans =
4024000000000000
>> 12
ans =
4028000000000000
我知道这些数字应该用十六进制格式写,但为什么会有这样的结果呢?我尝试了不同的变体,例如像这样
>> x=20;
>> format hex
>> x
x =
4034000000000000
如果我会尝试不同的格式
>> format long
>> x=10
x =
10
>> x=10.456
x =
10.456000000000000
效果很好,有什么问题?
答案 0 :(得分:3)
Matlab表现得绝对正确,x = 12创建一个64位浮点数,具有呈现的十六进制表示。你可能想要的是:
>>uint32(12)
ans =
0000000c