| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3019 人关注过本帖
标题:在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
快速回复:在matlab中,怎么把有符号16进制数转化为十进制数。
数据加载中...
 
   



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

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