Linux工具之bc计算器进制的转换
bc是Linux下的命令行式的计算器。 题目虽然叫任意进制,但是因为bc的限制,输入进制是216范围;输出进制是2999范围。这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处理16进制输入数据。
一、bc计算器的使用
- bc计算器默认输入、输出都为10进制。
[root@centos6 ~]# bc #打开bc计算器
bc 1.06.95
Copyright 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
88*123 #计算 88*123
10824 #计算器输出结果
#
#
123+65*2-100 #计算123+65*2-100
153 #计算器输出结果
- bc计算器进制转换
[root@centos6 ~]# bc
obase=16 #设置输出为16进制
ibase=2 #设置输入为2进制
1111111111111100011010 #输入2进制数
3FFF1A #转换为16进制
二、通过管道运算与进制转换
- 这里使用的管道可以简单的理解为将
echo "1+2"发送给 bc计算器
[root@centos6 ~]# echo "1+1" | bc #将1+1发送给bc计算器
2
[root@centos6 ~]#
[root@centos6 ~]# echo "5*10-1" | bc #将5*10-1发送给bc计算器
49
- 双引号、单引号、反单引号的使用
[root@centos6 ~]# echo "123+123" | bc
246
[root@centos6 ~]# echo '111+111'
111+111
[root@centos6 ~]# echo '111+111' | bc
222
[root@centos6 ~]# echo `111+111` | bc
-bash: 111+111: command not found
[root@centos6 ~]# echo "`echo 123`+10" | bc
133
三、使用中遇到的问题
- 先设置obase在设置ibase,计算器正常。
[root@centos6 ~]# bc
bc 1.06.95
Copyright 2006 Free Software Foundation,
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=16
ibase=2
1111111111111100011010
3FFF1A
- 先设置ibase在设置obase,计算器输出不正常。
[root@centos6 ~]# bc
bc 1.06.95
Copyright 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
ibase=2
obase=16
1111111111111100011010
21220002012002
- 先设置obase在设置ibase,计算输出正常
修改obase后计算输出不正常
[root@centos6 ~]# bc
bc 1.06.95
Copyright 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=16
ibase=2
1111111111111100011010
3FFF1A
obase=10
1111111111111100011010
1111111111111100011010
- 先设置obase在设置ibase正常,ibase与obase互换输出不正常。
[root@centos6 ~]# bc
bc 1.06.95
Copyright 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=16
ibase=2
1111111111111100011010
3FFF1A
obase=2
ibase=16
3FFF1A
1011010101
- 使用管道时同样只能先给obase赋值
[root@centos6 ~]# echo "ibase=2;obase=16;11101" | bc
1002
[root@centos6 ~]# echo "obase=16;ibase=2;11101" | bc
1D
结论?????
在bc计算器中,obase与ibase的赋值有先后顺序。
且在计算过程中ibase与obase只能赋值一次。
Linux工具之bc计算器进制的转换的更多相关文章
- ColorUtil【Color工具类(color整型、rgb数组、16进制互相转换)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 主要用于color整型.rgb数组.16进制互相转换(-12590395 <--> #3FE2C5 <--> ...
- 字节流、字符串、16进制字符串转换__Java(转)
/** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转换 * @author:xk * @date:Ja ...
- iOS 16进制字符串转换成int十进制
NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWi ...
- Java中将16进制字符串转换成汉字
技术交流群:233513714 /** * 将16进制字符串转换成汉字 * @param str * @return */ public static String deUnicode(String ...
- N进制数组转换成正整数
给定一个任意长度的数组,其中的元素按照一定的进制(N进制)来转换成正整数 //把数组中的元素按照N进制转换成为正整数 #include <stdio.h> #include <std ...
- javascript 10进制和64进制的转换
原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqr ...
- 编程实现将一个N进制数转换成M进制数
问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...
- java 的任意进制间转换
直接上代码: public class Main { public static void main(String[] args) { // TODO Auto-generated method st ...
- C++实现16进制字符串转换成int整形值
开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下: #include <stdio.h> #include <string.h> //字符转换成整形 int ...
随机推荐
- Python抓取成都房价信息
Python里scrapy爬虫 scrapy爬虫,正好最近成都房价涨的厉害,于是想着去网上抓抓成都最近的房价情况,顺便了解一下,毕竟咱是成都人,得看看这成都的房子我以后买的起不~ 话不多说,进入正题: ...
- 黑马程序员:3分钟带你读懂C/C++学习路线
随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...
- eclipse maven项目中使用tomcat插件部署项目
maven的tomcat插件部署web项目,我简单认为分两种,一种是部署到内置tomcat,另一种是部署到安装的tomcat. 第一种部署,默认是部署在内置tomcat的8080端口,如果不需要改端口 ...
- 关于Python中yield的一些个人见解
# 样例代码def yield_test(n): for i in range(n): yield call(i) print("i=",i) #做一些其它的事情 print(&q ...
- C# ftp 图片上传多快好省
前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只 ...
- dedecms的热门标签在那里修改
很多人都在用dedecms,因为它不但开源,而且功能还很强大.有会员功能,评论功能,问答功能,积分功能,充值卡等.那么我们来看看很多同学在优黔图里面的提的问题-dedecms的热门标签在那里修改? 其 ...
- Spring事务管理—aop:pointcut expression解析
先来看看这个spring的配置文件的配置: <!-- 事务管理器 --> <bean id="transactionManager" class="o ...
- [平衡树] mingap
时间限制: 1 Sec 内存限制: 128 MB提交: 18 解决: 9 题目描述 实现一种数据结构,维护以下两个操作: (1) I x :加入元素 x : (2) M :输出当前表中相差最小的两 ...
- OpenCV 之 神经网络 (一)
人工神经网络(ANN) 简称神经网络(NN),能模拟生物神经系统对真实物体所作出的交互反应,是由具有适应性的简单单元(称为神经元)组成的广泛并行互连网络. 1 神经元 1.1 M-P 神经元 如下 ...
- fiddler4手机抓包