Shell中的进制转换

在Shell中默认表示数值为十进制,那么二进制、八进制和十六进制如何表示呢?

    方法1:使用前缀。

    0开头表示八进制,0x开头表示十六进制。

如下:

#-----------------------------/chapter4/ex4-35.sh------------------
#! /bin/sh

#十进制20
((x=20))
echo "$x"
#八进制20
((x=020))
echo "$x"
#十六进制20
((x=0x20))
echo "$x"

    方法2:#来表示。

    2#开头表示二进制,8#开头表示八进制,16#开头表示十六进制。

如下:

#-----------------------------/chapter4/ex4-36.sh------------------
#! /bin/sh

#二进制
((x="2#100000"))
echo "$x"
#八进制
((x=8#123))
echo "$x"
#十六进制
((x=16#32))
echo "$x"

参考:《Shell从入门到精通》

时间: 2024-11-08 12:39:51

Shell中的进制转换的相关文章

SHELL中数值进制转换

八进制(020)→10 [[email protected] yemo]# echo $((num=020)) 16 [[email protected] yemo]# echo $((num=8#20)) 16 十六进制(0xff)→10 [[email protected] yemo]# echo $((num=0xff)) 255 [[email protected] yemo]# echo $((num=16#ff)) 255 [[email protected] yemo]# echo

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //

06 python语言中的进制转换

python语言中的进制转换 1.python语言中支持哪些进制,以及这些进制的表示法2.如何在不同的进制之间进行转换 //py 语言支持4种进制 十进制 0-9 // 123 默认就是 十进制 十六进制 0-9 A-F //0x 0xFF12E 0x 开头的就是 十六进制二进制 //0b 0b11010101 //这里用0B 也是可以的但是业内都是用小写的0b表示 表示二进制 八进制 //0o 0o4324 // 0o 开头的就是 八进制 除了十进制外,其他进制数字前面都是0 转换 主要是十进

JS中的进制转换以及作用

js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现: //10进制转为16进制 (10).toString(16) // =>"a" //8进制转为16进制 (012).toString(16) // =>"a" //16进制转为10进制 (0x16).toString(10) // =>"22" //16进制转为8进制 (0x16).toString(8)

c#中的进制转换

今天偶然接触到了一个位或的表达式,就像着自己做一个进制之间的转换器,基本功不扎实,二进制之间的运算稀里糊涂的. 常见的进制方式,主要有二进制,八进制,十进制和十六进制,通用的转换方式是把非十进制的数据类型转换成十进制的,然后再转换成其他类型. 进制转换的入口函数: /// <summary> /// 进制转换 /// </summary> /// <param name="input"></param> /// <param nam

JAVA中的进制转换问题

十进制转成十六进制:  Integer.toHexString(int i) 十进制转成八进制  Integer.toOctalString(int i) 十进制转成二进制  Integer.toBinaryString(int i) 十六进制转成十进制  Integer.valueOf("FFFF",16).toString() 八进制转成十进制  Integer.valueOf("876",8).toString() 二进制转十进制  Integer.value

iOS蓝牙中的进制转换

Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16进制(NSData)拆成2进制记录.这里我们研究下如何在他们之间进行转换. 假设我们要向蓝牙发送0x1B9901这条数据 Byte转NSData Byte value[3]={0}; value[0]=0x1B; value[1]=0x99; value[2]=0x01; NSData * data

python中的进制转换

python中常用的进制转化通常有两种方法: 1.用内置函数hex(),oct(),bin(),对应的数字表示为0x,0o,0b,功能是把十进制数字转化为其他进制 1 >>> int(0x400) 2 1024 3 >>> bin(1024) 4 '0b10000000000' 5 >>> hex(1024) 6 '0x400' 7 >>> oct(0x400) 8 '02000' 9 >>> oct(1024) 1

IP地址中的进制转换

10进制转换为2进制例子=189189>128=1  189-128=6161<64=0     61-32=2929>16=1    29-16=1313>8=1   13-8=55>4=1    5-4=11<2=0      1=1=1即转为 1011101   132132>128=1   132-128=44<64=0     4<32=04<16=04<8=04=4=1  即 100001  2进制转化为10进制例子 11101