十六进制转换成二进制的方案

代码如下:

#/bin/bash
Hex2Bin(){
    local string=$1
    if [[ -z $string ]]; then
        echo "字符串为空"
        exit
    fi
    [[ ${string:0:2} == 0x ]] && local string=${string:2}
    for i in `seq 1 ${#string}`
    do
        local bit=`echo $string |cut -c $i`
        if ! [[ $bit == [0-9] || $bit == [a-f] ]];then
            echo "输入字符不符合十六进制"
            exit
        fi
    done
    
    #conver to 10进制
    local stringDec=`printf %d 0x${string}`
    local stringBin=`echo "obase=2;${stringDec}"|bc`
    local length=`expr ${#stringBin} % 4`
    [[ $length == 1 ]] && local stringBin="000${stringBin}"
    [[ $length == 2 ]] && local stringBin="00${stringBin}"
    [[ $length == 3 ]] && local stringBin="0${stringBin}"
    echo $stringBin
}

Hex2Bin $1

执行结果如下

Shell 十六进制转换成二进制的方案相关推荐

  1. python十六进制转换成二进制流

    1.python自带IDE编辑器十六进制格式转换 (1) def Binary(a):result=''t='\\x'i=0if len(a)%2==1:return 0print('长度值')whi ...

  2. python十六进制转换成二进制_python - 将十六进制转换为二进制

    python - 将十六进制转换为二进制 我有ABC123EFFF. 我想拥有001010101111000001001000111110111111111111(即二进制代表,例如42位数和前导零) ...

  3. python--预测未来子女的身高、计算能量的消耗、为自己的手机充值、将指定的十进制数转换成二进制、八进制、十六进制

    将指定的十进制数转换成二进制.八进制.十六进制 def fun():num=int(input('请输入一个十进制的整数:'))print(num,'的二进制数为:',bin(num)) #内置函数- ...

  4. 实现 十进制整数转换成二进制,八进制,十六进制

    整型有4种进制形式: 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始. ...

  5. C语言十进制转换成二进制、八进制、十六进制

    一.绪论 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制.一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15. 十进制(Decimal System):每相 ...

  6. 汉字转换成二进制、十进制和十六进制显示

    汉字转换成二进制.十进制和十六进制显示 今天我的网友猎心锁跟我讨论汉字转十六进制的问题.二进制.十进制.十六进制这三个进制之间的转换就让我头疼,现在又加上了汉字,无疑是"雪上加霜" ...

  7. 十进制转换成二进制和十六进制的方法

    十进制转换成二进制和十六进制的方法 十进制数转换成二进制数-般分为两个步骤,即整数部分的转换和小数部分的转换. (1 )整数部分的转换 *除2取余法:*这种方法是由于D10=N2 =dn-1x2n-1 ...

  8. c语言十进制转换成二进制八进制十六进制,十进制数转换成二进制,八进制,十六进制(c语言)...

    利用一个函数实现十进制数转换成二进制,八进制,十六进制.利用的是栈的后进先出的思想.算法简单. #include #include #include #define STACK_INIT_SIZE 1 ...

  9. python十六进制转换成八进制_怎么把十六进制转化为八进制

    展开全部 八进制与十六进制之间的转换32313133353236313431303231363533e4b893e5b19e31333366303831有两种方法: 第一种:他们之间的转换可以先转成二 ...

最新文章

  1. linux bash sh,linux bash shell.sh编程实例
  2. java cookie共享_JavaWeb的session及其共享技术
  3. 敏捷自动化测试(1)—— 我们的测试为什么不够敏捷?
  4. JDK源码解析之 Java.lang.Double
  5. python处理文件夹_python文件及文件夹操作
  6. 【算法分析与设计】最大连续子序列和问题
  7. java static 区别_Java中static和final的区别
  8. python入门经典电子书-python从入门到精通pdf
  9. window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理
  10. 主表和附表的关联关系,普通字段就可以实现为什么还要有主键外键?之间有什么关系
  11. 重新安装windows中已删除的Wireless Zero Configuration(WZC)服务
  12. switch服务器维护时间2020,switch pro什么时候出,2020性能加强版switch发布时间
  13. 读书笔记之吴伯凡·认知方法论
  14. 虚拟机的安装、网关配置及安装man命令
  15. QQ秀文字,很酷的!
  16. 群发邮件的方法有哪些?怎样大量群发邮件?
  17. 死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
  18. 史上最简单的 MySQL 教程(十四)「列属性 之 主键」
  19. iphone系统架构以及各层提供的主要服务
  20. 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?

热门文章

  1. java的内部类和外部类_java内部类 和外部类的区别
  2. 嵌入式系统的技术特点及广泛运用
  3. php7.1 phpize,PHP扩展安装之phpize
  4. 表达无序列表语义的html标签是,HTML 标签语义
  5. 【侯捷面向对象高级开发】第一部分:基于对象 Object Based
  6. 第六天:结构型模式--修饰器模式
  7. 10-234 按城市所属的省份统计省份下所有城市的人口
  8. harris角点检测原理
  9. 按图搜索淘宝商品(拍立淘)API 返回值说明
  10. Nessus8.4.0漏洞扫描工具安装及使用