进制与进制转换DAY2
进制和进制转换
一、进制的基础
1、十进制(案例)
系数:0-9
进位规则:逢十进一
权:基数的次幂
基数:几进制基数就是几
规律:右侧第一位的权是10的0次幂,每向左移动一位次幂会+1.
进制的表示:
①下角标:写具体进制数
②后缀:B(二进制)、D(十进制)、H(十六进制)、O(八进制)
2、二进制(机器语言0、1)(下角标2、后缀B)
系数:0、1
进位规则:逢二进一
111B=7D 1111B=15D
权:2的次幂
规律:右侧第一位的权是2的0次幂,每向左移动一位次幂会+1.
二进制(任意进制)--->十进制
方法:按权展开求和法
方法说明:每位的系数乘以权得到乘积,然后将乘积相加求和。
例如:
提示:十进制是默认。(如果数没有任何表示,默认十进制)
二进制的表示:①:下角标2、②后缀B
二进制的缺点:二进制的位数太多,表示起来太过繁琐。
3、十六进制(下角标16;后缀H)
说明:为了解决二进制位数过多,表示繁琐的缺点,计算机中引入了十六进制(应用多)和八进制。
系数:0-9、10=A、11=B、12=C、13=D、14=E、15=F
进位规则:逢16进1
权:16的次幂
规律:右侧第一位的权是16的0次幂,每向左移动一位次幂会+1.
4、八进制(下角标8;后缀O)
系数:0-7、进位规则:逢8进1
权:8的次幂
规律:右侧第一位的权是8的0次幂,每向左移动一位次幂会+1.
二、进制之间的转换
1、任意进制转换为十进制
方法:按权展开求和法
2、十进制转换为任意进制
方法:除基取余逆读法
方法说明:(1)用十进制除以基数(要转成几进制基数就是几)得到商和余数(2)继续用商除以基数,直到商为0为止。(3)倒序读取余数作为结果。
例如:56的二进制
3、以二进制为中心
1)二进制<------->十六进制
说明:每4位二进制可以表示1位十六进制(0000-1111,0-15是十六进制的系数范围)
①二进制-------->十六进制
方法:4和1(4位二进制合成1位十六进制)
方法说明:先从右向前每4位分成1组(最左侧可以补0);接下来计算每组对应的十六进制结果;最后将结果按顺序读出即可
②十六进制------>二进制
方法:1分4(1位十六进制拆分成4位二进制)
2)二进制------>八进制
说明:每3位二进制可以表示1位八进制(000-111,0-7是八进制的系数范围)3:1
①二进制---->八进制
方法:每3位为1组,计算对应的八进制结果(从后向前分组)
②八进制------>二进制
方法:1分3(1位八进制拆分成3位二进制)
问题:如何实现八进制与十六进制之间的相互转换。
可以在八进制与十六进制中间引入二进制(或十进制)作为桥梁,实现转换。
任意进制转换成十进制:按权展开求和法
例如:八进制---->二进制---->十六进制
十六进制---->二进制---->八进制
进制与进制转换DAY2的更多相关文章
- Java 整数型的进制间的互相转换
/** * 整数型, 进制间的互相转换 */ public class IntConversion { public static void main(String[] args) { int num ...
- JavaScript中的多种进制与进制转换
进制介绍 JavaScript 中提供的进制表示方法有四种:十进制.二进制.十六进制.八进制. 对于数值字面量,主要使用不同的前缀来区分: 十进制(Decimal): 取值数字 0-9:不用前缀. 二 ...
- Qt 串口通信之使用16进制发送数据的转换方式
Qt 串口通信之使用16进制发送数据的转换方式 一 概述 有时候在做上位机串口通讯时,经常需要将字符串转成16进制的形式作为发送,借此分析记录一下. 二 需求分析 //假设需要转换的字符:如下 QSt ...
- 关于C# Math 处理奇进偶不进
话说,最近一次系统维护 用JS读取导入Excel中的实验数据,出现被自动四舍五入.后来到客户现场听客户反馈 Excel实验数据要求 奇进偶不进. 关于 奇进偶不进 产生的由来:从统计学的角度,“奇进 ...
- C#控制打印机通过不同纸盒/进纸口进纸打印
通常我们是通过程序操作打印机打印我们设置好的内容,但基本都是打印机默认进纸口打印:最近有一个通过C#程序控制两个进纸口分别进一张纸进行打印的需求,通过偿失找到了解决方案如下: 关于C#调用打印机打印的 ...
- Java中byte与16进制字符串的互相转换
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...
- PHP中进制之间的互相转换
常见的进制: 二进制 binary -----> bin 八进制 octal -----> oct 十进制 decimal -----> dec 十六进 ...
- [转]Java中byte与16进制字符串的互相转换
Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...
- js各种进制数之间的转换
计算机中常用的进制数有二进制.八进制.十进制.十六进制 一.十进制 to 其他 var x = 10; // 或定义其他值均可 x.toString(n); // n 代表要转换到的进制,比如n可以为 ...
随机推荐
- IMPALA部署和架构(一)
IMPALA部署和架构(一) 一,概要 因公司业务需求,需要一个查询引擎满足快速查询TB级别的数据,所以我们找到了presto和impala,presto在前面讲过今天只说impala,impala ...
- docker nginx letsencrypt
https越来越流行了,但免费的证书一般是一年有效期.一般是够用了,但懒人都想一劳永逸, 有个免费证书颁发机构是letsencrypt.它是开源,并且完全免费的,它颁发的证书已经被几乎所有的浏览器所认 ...
- TR069网管测试华为ITMS平台(内部测试使用)
声明:本篇华为ITMS平台仅用于学习和测试使用,如果需要商用,请购买正版软件! 原创作品,转载请注明出处,严禁非法转载或者用于商业目的! email:40879506@qq.com 一. 准备软件 V ...
- jQuery: 判断from表单是否修改
<script> $(function() { $("#myform :input").change(function(){ $("#myform" ...
- Python 标准库笔记(1) — String模块
原文出处: j_hao104 String模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 常用方法 描述 str.capitalize() 把字符串的首字母大 ...
- [ZZ] NumPy 处理数据
NumPy-快速处理数据--ndarray对象--数组的创建和存取 https://www.cnblogs.com/moon1992/p/4946114.html NumPy-快速处理数据--ndar ...
- swoole之代码热更新实现 转自https://blog.csdn.net/nep_tune/article/details/81329918
随着swoole的版本迭代更新,已经足够稳定了,在阿里,腾讯,yy等各大公司都有着使用,也有很多游戏圈里的朋友也在使用,这些朋友经常会提到一个问题,每次代码更新还需要停止服务,然后重新启动,来达到更新 ...
- 2018总结-->2019新目标
2018完成的事情: ①考到了驾照: ②刷了很多题,春季找到了实习,赚到了去日本旅游的经费和2019毕业租房的预算,最后签了offer: ③去了西安.天津.山西,看到了不一样的人和事: ④发了小论文, ...
- C#使用Linq to Sqlite
1.首先到Nuget命令行运行: Install-Package linq2db.SQLite 2.在项目下添加一个文件夹:DataModels,用以存放数据库相关的文件,显得规整 3.找到CopyM ...
- Xorboot-UEFI新手入门教程
Xorboot-UEFI新手入门教程 Xorboot-UEFI是一款UEFI下轻量级的图形化多系统引导程序,pauly于2014年国庆节期间发布了预览版.搜了下论坛,关于Xorboot- ...