进制转换问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
Lee_Prison
帖子: 9
注册时间: 2011-12-13 21:37

进制转换问题

#1

帖子 Lee_Prison » 2012-02-22 10:28

eg:

echo 'ibase=10;obase=2;67'|bc

result=1000011
但是我的目标是显示: 00000000 01000011

我的思路是用wc可以处理进行判断,不知道bc 有没有自带精度的方法
例如输出2byte
头像
xw_y_am
帖子: 3333
注册时间: 2009-05-08 14:18
系统: Arch
来自: 河南新乡
联系:

Re: 进制转换问题

#2

帖子 xw_y_am » 2012-02-22 10:52

顶个人气,LX 继续 :em01 :em01
Linux 相关链接大杂烩

代码: 全选

if(read) {
    if(practise) return g☘☘d;
    else return w☘☘d;
} else {
    return t☘☘d;
}
Lee_Prison
帖子: 9
注册时间: 2011-12-13 21:37

Re: 进制转换问题

#3

帖子 Lee_Prison » 2012-02-22 22:01

如果KEEP IT SIMPLE STUPID。


SOLUTION:

CLI: ./test.sh 320
Result:
101000000
0000000101000000


test.sh:

#!/bin/bash
binary=`echo "obase=2;$1"|bc`
echo $binary
echo "0000000"$binary
头像
Think1st
帖子: 45
注册时间: 2012-02-07 23:08

Re: 进制转换问题

#4

帖子 Think1st » 2012-02-22 22:15

Lee_Prison 写了:eg:

echo 'ibase=10;obase=2;67'|bc

result=1000011
但是我的目标是显示: 00000000 01000011

我的思路是用wc可以处理进行判断,不知道bc 有没有自带精度的方法
例如输出2byte

代码: 全选

echo 'ibase=10;obase=2;67'|bc | xargs printf "%016d\n"
在这里,问题比答案更抢手。
回复