linux shell 下各种进制数据转换。
来源:互联网 发布:零基础学c语言看什么书 编辑:程序博客网 时间:2024/05/17 21:46
linux shell 下各种进制数据转换。
用echo 命令
****************************************
shell 内置各种进制表示方法非常简单。记得 base#number 即可。 base 为 2-64
赋值语句 let 或(()) 不能直接用=号,直接用等号是字符串照印。不是付给数值。
let i=16#ff
let j=8#37
通俗记法: 0x 为16进制, 0开头问8进制
echo 命令以十进制显示数据。
----------------------------------------
1. 各种进制转换为十进制。
为变量赋值: ((var=base#number))
显示变量: echo $var
----------------------------------------
例:
((i=0xff10)); echo $i;
((i=32#qfg; echo $i;
----------------------------------------
2. 十进制转换为其它进制。
利用bc 计算器。
bc命令格式转换为:echo "obase=进制;值" | bc
----------------------------------------
bc 是用来处理文件的。所以采用管道
例如:
echo "obase=16;65536" | bc
10000
echo "obase=8;65536" | bc
200000
****************************************
郑重推荐bc 计算器, 它支持交互模式, 可以使得转换根据简单,方便。
使用示例:
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=16 设置16进制输出
ibase=10 设置10进制输入
65536 输入十进制 65536
10000 输出16进制 10000
obase 查看当前输出进制
16
ibase 查看当前输入进制
16 进制输入时 a-f 必需用大写, 小写会被视为变量,会报错。
要密切注意obase, ibase 及其含义, 还有一个变量scale, 浮点数精度。除法时会用到。
用printf 命令
hjj@hjj-Inspiron:~/$ printf "%d\n" 0x10
16
hjj@hjj-Inspiron:~/$ printf "%x\n" 100
64
linux 怎样查询一个字符的ascii码。 例如m的ascii是什么?反过来又怎样查?
答:
----------------------------------------
$ printf "%d\n" "'m'"
109
----------------------------------------
$ printf "%c\n" 109
1 (错了)
bash下 printf 到底怎样实现的,我没有看,但它功能确实不怎么样,先扁他!!
用awk 下的printf 可以
----------------------------------------
$ awk -v c=109 'BEGIN { printf "%c\n", c;}'
m
----------------------------------------
作为一个c++程序员,最后我还是选择了与c类似的awk 中的printf 来进行数制转换。
交互模式nodejs 也是一个很好的选择。
这两个就不举例了,其中awk 是基础工具,默认都有安装的, 是一个优秀的文本处理工具。
- linux shell 下各种进制数据转换。
- linux shell 不同进制数据转换
- linux shell 不同进制数据转换
- linux shell 不同进制数据转换
- Linux shell 不同进制数据转换
- Linux shell 进制转换
- Linux shell 进制转换
- Linux shell 进制转换
- Linux Shell进制转换
- linux下的各种shell介绍(bash和dash转换)
- Python各种数据进制转换
- vb下各种进制的转换
- [Linux]:linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- (转)linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- Linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
- 自定义背景颜色的设置
- jquery操作select(取值,设置选中)
- Java 获取系统信息
- 番茄时间管理
- linux shell 下各种进制数据转换。
- Android各种访问权限Permission详解
- sharpdevelop源码学习
- texture atlas or spritesheet 动画的实现
- Monitor name :Windows Resources. 无法连接计算机 192.168.32.230。 原因: 拒绝
- LINUX修改文件字符集
- 如何做好新闻营销
- TCP 滑动窗口协议
- centos网站地址收藏