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只能赋值一次。

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 #include

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 #include //字符转换成整形 int ...

随机推荐

ISO9126软件质量模型

ISO9126软件质量模型,是评价软件质量的国际标准.6个特性27个子特性组成. ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次: 1.质量特性 2.质量子特性 3.度量 ...

poj1274 The Perfect Stall (二分最大匹配)

Description Farmer John completed his new barn just last week, complete with all the latest milking ...

Java 操作 Redis 高级

/Users/sherry/WorkPath/Git/Web/redisDemo/src/main/java/org/zln/utils/JedisUtils.java package org.zln ...

利用opencv3中的kmeans实现抠图功能

kmeans算法主要用来实现自动聚类,是一种非监督的机器学习算法,使用非常广泛.在opencv3.0中提供了这样一个函数,直接调用就能实现自动聚类,非常方便. 函数原型: C++: double km ...

[转贴]WebService的简单实现 C++

WebService的简单实现 一.socket主机创建和使用过程 1.socket()//创建套接字 2.Setsockopt()//将套接字属性设置为允许和特定地点绑定 3.Bind()//将套接 ...

有向图的欧拉路径POJ2337

每个单词可以看做一条边,每个字母就是顶点. 有向图欧拉回路的判定,首先判断入度和出度,其实这个题判定的是欧拉通路,不一定非得构成环,所以可以有一个点的顶点入度比出度大1,另外一个点的出度比入度大1,或 ...

WCF消息

1. MessageContract 序列化一个对象并生成消息的时候,希望将部分数据成员作为SOAP的报头,部分作为消息的主体.比如说,我们有一个服务操作采用流的方式进行文件的上载,除了以流的方式传输 ...

bzoj1188

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1188 一道非常好的SG函数题,加深了对博弈论的理解. 以前做的SG函数的题,都是每个瓶子看成一 ...

Oracle 实现 mysql 的 find_in_set 排序!

oracle 实现类似MYSQL的 find_in_set 排序,函数 decode: select * from tb_info_game where gameid in(23,20,19,26,1 ...

linux系统计算器工具,Linux工具之bc计算器进制的转换相关推荐

  1. linux 软件 web管理系统,如何快速安装Webmin(linux系统web管理配置工具)

    如何快速安装Webmin(linux系统web管理配置工具) 简介: Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作 ...

  2. linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  3. linux系统监控、诊断工具摘录top IO wait lsof

    linux 系统监控.诊断工具之 top 详解 http://my.oschina.net/leejun2005/blog/157910 linux系统监控.诊断工具之 IO wait http:// ...

  4. linux系统压缩与解压缩工具使用方法

    linux系统压缩与解压缩工具包括7z.zip/unzip.rar/unrar 一.7z 安装: 执行以下命令下载安装: wget https://udomain.dl.sourceforge.net ...

  5. 在linux系统,用FTP工具下载文件

    在linux系统,用FTP工具下载文件 有两种方式: 1. 打开终端,使用ftp命令连接到ftp 服务器如ftp 192.168.1.9 ,然后输入用户名密码,进入服务器后,用get命令下载你要下的文 ...

  6. Linux系统中使用linux-wifi-hotspot工具开启网络热点

    更好的干净纯洁阅读体检请访问个人网站:Linux系统中使用linux-wifi-hotspot工具开启热点. 本文描述如何在Linux系统中使用linux-wifi-hotspot工具开启网络热点. ...

  7. 最好用的Linux系统磁盘数据修复工具合集!

    磁盘是计算机技术中非常常见的概念,它是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失.但在日常工作中,我们经常会遇到不小心误删数据的情况,因此就需要进行数据恢复,那么Li ...

  8. Linux系统的web管理工具——webmin搭建

    Linux系统的web管理工具--webmin搭建 一.webmin介绍 二.添加webmin的yum仓库 三.检查yum仓库状态 三.安装webmin 1.添加GPG密钥 2.安装webmin 3. ...

  9. Alpine linux 小内存版,Alpine Linux系统-Alpine Linux系统【轻量级Linux】下载v3.11.0 最新版-西西软件下载...

    Alpine Linux系统[轻量级Linux],Alpine Linux其实就是一个清凉版的Linux系统,通过牺牲一些不常用的功能和特性来达到更加轻巧的体积以及更快的响应速度.Alpine Lin ...

最新文章

  1. JS中this关键字
  2. JAVA16版本.JDK16关于TCP和UDP的优化
  3. java学习(53):接口的定义和创建
  4. Linux:I/O多路转接之select(有图有代码有真相!!!)
  5. 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
  6. powershell目录带空格_精心构造的PS1文件名导致Powershell命令执行
  7. webpack环境的配置
  8. 2022Android SDK下载与安装
  9. [硬核干货]由0到1,突破信息系统项目管理师(呕心沥血经验之谈)!!!
  10. ARP欺骗-教程详解
  11. GifUtil给gif图片添加文字、图片水印
  12. 巴特沃斯(Butterworth)滤波器(二)
  13. 键盘鼠标是计算机标准输入输出设备,输入输出设备.ppt
  14. JSON (JavaScript Object Notation)
  15. Python数据分析U3-matplotlib可视化基础
  16. 网站被劫持怎么办,怎么解决?
  17. PDF如何导出成图片,操作教程
  18. 区块链通证经济的核心不在技术,而在于商业逻辑的重构
  19. endnoteX9导入英文PDF文献,可以识别Doi,但无法显示参考文献信息,如何解决?
  20. java学习总结之集合框架

热门文章

  1. 电脑花屏死机怎么办?
  2. 锡瓦塔内霍 墨西哥 / 巴克斯顿 /
  3. 【校招VIP】[推电影项目]产品的规划和商业化分析
  4. 大数据开发工程师必备那些技能
  5. python爬取umei网17万美女图片
  6. thinkpad卡在logo界面_win7系统开机卡在开机Thinkpad LOGO画面的解决方法
  7. IaaS:基础设施及服务
  8. 安卓开发实现蓝牙通信——两设备相互发消息
  9. 打开PPT的密码忘记了,如何找回?
  10. [HDU6960]Necklace of Beads