LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2146|回复: 9

如何计算16进制

[复制链接]
发表于 2005-11-14 12:01:27 | 显示全部楼层 |阅读模式
mac_a="00900B053C89"
mac_b="00900B053C8A"
他们都是16进制数,如何计算他们的大小?
expr可以计算么?
发表于 2005-11-14 12:17:31 | 显示全部楼层
echo "obase=10; ibase=16; 00900B053C89" | bc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-14 12:26:21 | 显示全部楼层
就是先把它转换成10进制对么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-14 12:36:57 | 显示全部楼层
echo "obase=10; ibase=16; 00:90:0B:05:3C:8D"|bc
(standard_in) 1: illegal character: :
(standard_in) 1: parse error
(standard_in) 1: illegal character: :
(standard_in) 1: illegal character: :
(standard_in) 1: illegal character: :
(standard_in) 1: illegal character: :
回复 支持 反对

使用道具 举报

发表于 2005-11-14 12:49:50 | 显示全部楼层
mac地址吗,冒号去掉,一个个算。

转后做什么用?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-14 14:03:13 | 显示全部楼层
mac_a=`ifconfig eth4 |head -n 1 |awk -F" " '{print $5}'|sed 's/://'|sed 's/://'|sed 's/://'|sed 's/://'|sed 's/://'`
mac_b=`ifconfig eth5 |head -n 1 |awk -F" " '{print $5}'|sed 's/://'|sed 's/://'|sed 's/://'|sed 's/://'|sed 's/://'`
a=`echo "obase=10; ibase=16; $mac_a" | bc`
b=`echo "obase=10; ibase=16; $mac_b" | bc`
sum=`expr $a - $b`
回复 支持 反对

使用道具 举报

发表于 2006-2-15 10:38:51 | 显示全部楼层
各位大哥:
              如何计算16进制 的小数点呀。
   教教小弟我。。。YUIR     老兄可以吗?
回复 支持 反对

使用道具 举报

发表于 2006-2-15 10:42:06 | 显示全部楼层
mail:chdcd163.com
回复 支持 反对

使用道具 举报

发表于 2006-2-15 10:47:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-2-15 16:47:37 | 显示全部楼层
好象可以直接比较十六进制数:

[16:44:47 test]$ if expr 00900B053C89 \>= 00900B053C8A; then echo great; else echo little; fi
0
little
[16:45:11 test]$ if expr 00900B053C8B \>= 00900B053C8A; then echo great; else echo little; fi
1
great
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表