十六进制与十进制之间的相互转换

本文详细介绍了十六进制与十进制之间的转换方法,包括从十进制到十六进制的除法取余法,以及从十六进制到十进制的按权展开求和法。通过实例解析,帮助读者掌握这两种基本的数字系统转换技巧。
摘要由CSDN通过智能技术生成
// 8位十六进制转十进制有符号数
// 因为8位有符号数范围为-128~127,而8位十六进制数范围为0~255,所以如果转换后十进制数大于127,则说明该数为负数,负数是以补码存储的,所以负数原码为N=-[127-(x_dec-128-1)]=x_dec-256

x = 'a8';
x_dec = hex2dec(x);
if x_dec > 127
    x_dec = x_dec - 256;
end

// 十进制转十六机制
// 因为8位十六进制数范围为0~255,所以如果十进制数小于0,用正数表示为P=128+(127-(abs(x_dec)-1))=-abs(x_dec)+256

x_dec = -88
if x_dec < 0
    x_dec= x_dec+256;
end
x_hex = dec2hex(x_dec);
switch(length(x_hec))
    case 1
        result = ['0x0',x_hex];
    case 2
        result = ['0x', x_hex];
break;
end
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值