标题:在matlab中,怎么把有符号16进制数转化为十进制数。
只看楼主
grassboy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-8-13
结帖率:0
 问题点数:0 回复次数:1 
在matlab中,怎么把有符号16进制数转化为十进制数。
在matlab中,怎么把有符号的16进制数转化为十进制数。注意,是有符号位的!!!

如:输入hex2dec('FF')的结果是255,显然matlab把FF当作无符号整型来看待了。

但如果把FF看作有符号数,它应该是-1,请问这怎么用matlab来实现。

谢谢大家。。
搜索更多相关主题的帖子: 符号 进制 matlab 
2009-11-18 16:49
dbx12358
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:37
专家分:141
注 册:2008-11-13
得分:0 
程序代码:
function decval=he2de(hexval, flag)
if flag==0
decval = hex2dec(hexval);
else
decval = hex2dec(hexval);
decval = decval- 2^(4*length(hexval));
end

调用
he2de('FFFF',0)代表无符号
he2de('FFFF',1)有符号
比如
>> he2de('DE',0)
ans =

   222
>> he2de('DE',1)
ans =

   -34
2009-11-24 22:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-292742-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.871296 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved