以十六进制格式格式化期间未定义的结果
undefined result during formatting in hexadecimal form
我无法理解以下结果的原因
>> 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
效果不错,有什么问题吗?
Matlab 的行为绝对正确,x=12 创建了一个 64 位浮点数 具有呈现的十六进制表示形式。您可能想要的是:
>>uint32(12)
ans =
0000000c
我无法理解以下结果的原因
>> 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
效果不错,有什么问题吗?
Matlab 的行为绝对正确,x=12 创建了一个 64 位浮点数 具有呈现的十六进制表示形式。您可能想要的是:
>>uint32(12)
ans =
0000000c