饿补基础_1 |进位制、R进制之间转换及十进制编码

这篇具有很好参考价值的文章主要介绍了饿补基础_1 |进位制、R进制之间转换及十进制编码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数值数据的表示

一.进位计数制理解

1.你需要了解的概念

所谓进位计数制即按进位制的方法进行计数。

数制的组成: 基数R和各数位的权W。
基数为R的数制称为R进制,特点逢R进一

基数R: 决定了各数位上允许出现的数码个数,比如十进制上允许出现10个数(0、1、2…9)。

权W: 表示该数位上的数码苏表示的单位数值的大小,比如十进制的个位数值大小为100,十位为101
所以权W是与数位的位置有关的一个常数,即不同数位有不同的权。

位权: 同一个数码位于不同的位置,其所代表的数值大小也不同。

最高有效位: 通常一个数最左边的数位的权最大,即最高有效位。

最低有效位: 通常一个数最右边的数位的权最小,即最低有效位。

2. 晦涩难懂的官方定义

饿补基础_1 |进位制、R进制之间转换及十进制编码

3 一看就会的例子

饿补基础_1 |进位制、R进制之间转换及十进制编码
计算机中常见的数制(允许使用的数字符号)有:
二进制(0~1)
八进制(0~7)
十进制(0~9)
十六进制(0~9及 A~F)。

4 值得收藏的进制对照表(二、八、十、十六进制)

饿补基础_1 |进位制、R进制之间转换及十进制编码

5 计算机为什么主要使用二进制

  • 相对更容易找到具有二进制状态的物理器件表示数据和实现存储。例如,脉冲的有无、电压的高低等。
  • 二值性使二进制数的存储具有抗干扰能力强、可靠性高等优点。
  • 二进制的运算规则简单,运算过程中的输入和输出状态较少,便于使用电子器件和线路加以实现。
  • 二进制的0和1与逻辑推理中的“真”和“假”相对应,为实现逻辑运算和逻辑判断提供了便利。

二.不同数制之间的转换

说明: 以下出现例子中括号外右下角以数制的基数2、10、8、16或后缀以大写或小写的“B(Binary)”、“D(Decimal)”、“O(Octal)”、“H(Hexadecimal)”代表二进制、十进制、八进制、十六进制。

1. 为什么会出现进制转换

由于人们习惯使用十进制,所以计算机中支持用户以十进制形式输入数据,在计算机内部将其转化为二进制数来存储和运算,最后再将处理结果以十进制形式输出给用户。

2. 各数制转十进制

给我死死的记住:计算的本质——加权求和!
饿补基础_1 |进位制、R进制之间转换及十进制编码

3. 十进制转二进制

十进制的整数部分和小数部分必须分别转换,得出结果再合并。

  • 整数转二进制: 除以2取余数,先得者为整数的最低位,再继续除以2取余数,直至商为0.
  • 小数转二进制: 乘以2取整数,先得者为小数的最高位。再继续乘以2取整数,直至积为0或小数满足精度要求(并不是所有十进制小数最后乘积一定为0,所以适当使用精度控制结束)。

一个例子你就懂:
将(114.35)10 转化为二进制(1110010.0101)2,精度高于10%(因为1/16<1/10=10%,即取4位小数即可)。
饿补基础_1 |进位制、R进制之间转换及十进制编码

4. 二进制与八进制、十六进制之间的转换

  • 二进制转八进制
    因为3位二进制数恰好组成1位八进制数,所以从小数点开始向两边每3位划分为一组,整数部分不足3位的,在前边补“0”,小数部分不足3位的在后边补“0”,然后写出各组的八进制数。
  • 二进制转十六进制
    同理4位二进制组成1位十六进制数,所以从小数点开始向两边每4位划分为一组,整数部分不足4位的,在前边补“0”,小数部分不足4位的在后边补“0”,然后写出各组的十六进制符号。
  • 八进制转二进制
    对每一位八进制写出它的3位二进制编码(注意:不能省略高位或低位的“0”,当整个过程转换完成时,才可以省略高位或低位的“0”)
  • 十六进制转二进制
    同八进制转二进制思路一样,对每一位十六进制写出它的4位二进制编码。

例1:将(11011.11001)2转化为八进制和十六进制
饿补基础_1 |进位制、R进制之间转换及十进制编码
例2:将(571.23)8和(A8.E9)16转化为二进制
饿补基础_1 |进位制、R进制之间转换及十进制编码

三.十进制数的编码

由来: 人们习惯使用十进制表示数据,而计算机内任何信息只能以二进制存储,如何使用二进制表示十进制?达到快速转换即像查表一样一一对应?

以下两种方法表示: BCD码和十进制数串的表示方法

1.二—十进制码(BCD码)

BCD(Binary Coded Decimal)码,即使用二进来编码十进制数0~9。

通常使用4位二进制编码来表示1位十进制,选16个4位二进制编码中的10个来表示数字0~9。不同选择构成不同的BCD码。

如下表:BCD码编码对应关系
饿补基础_1 |进位制、R进制之间转换及十进制编码
如下图为对BCD码的总结:
饿补基础_1 |进位制、R进制之间转换及十进制编码
额外补充:
计算器内部的运算器硬件实现BCD码运算比较复杂,**在某些情况下必须对二进制运算器的运算结果进行修正,**以便产生正确的十进制结果。(详细后期博客陆续更新)

2.十进制字符串的表示方法

2.1 字符串形式

一个字节存放一个十进制的数位或符号位,直接以ASC||码的形式存放。

例如:数字0~9
ASC||码为48~ 57

2.2 压缩的十进制数串形式

一个字节存放 两个十进制数位

优点: 相对字符串形式更节省空间文章来源地址https://www.toymoban.com/news/detail-470202.html

到了这里,关于饿补基础_1 |进位制、R进制之间转换及十进制编码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ARM汇编]计算机原理与数制基础—1.1.2 二进制与十进制数制转换

    在计算机中,我们通常使用二进制数制来表示数据,因为计算机的基本电平只有两种状态:高电平(通常表示为 1)和低电平(通常表示为 0)。而在我们的日常生活中,我们习惯使用十进制数制。为了方便理解,我们需要掌握二进制与十进制之间的转换方法。 二进制转十进

    2024年02月08日
    浏览(52)
  • 二进制与十进制的转换【相互转换, C++】

    二进制转十进制: 以字符串的形式读入二进制串。 获得该字符串的位数,即二进制的最高位是多少。 从左往右遍历 == 从高位往低位展开! 核心:按权展开,按位相加。 代码: 十进制转换为二进制: 思路: 十进制转化为 x x x 进制采用的是除 x x x 取余法(从下往上取余数

    2024年02月12日
    浏览(63)
  • Python中二进制十进制转换

            hello大家好,今天我想和大家分享一下在Python中进制转换加减法的方法。         比如现在我们需要求100 + 10,然后需要将结果110以二进制的形式返回,又或者我们现在有一个小需求,就是要计算二进制1010和二进制1011的和是多少,然后依旧以二进制的形式返回

    2024年02月16日
    浏览(63)
  • 十六进制转换到十进制(java)

    一、前言  首先我们要知道十六进制的转换以及十以上的进制的转换与十以下的进制转换是不一样的,它们在一位上会用超过9的数字,这个我们在利用以前的方法就行不通了,我接下来就向大家分享一种方法。(注:在Java中10---15分别用A B C D E F表示,不分大小写) 二、正文

    2024年02月11日
    浏览(57)
  • 【verilog】用七段数码管显示二进制编码的十进制数

    用七段数码管显示0~9,输入为四个信号,这四位二进制数表示十进制的0~9 图1 逻辑电路与七段显示器 图2 真值表 根据卡诺图,得出a~g的逻辑表达式: 硬件描述语言: 图4 代码编译成功 图5 电路图 图6 仿真波形 表1 端口管脚分配表 端口 使用模块信号 对应FPGA管脚 功能说明

    2023年04月25日
    浏览(58)
  • MATLAB十六进制与十进制互相转换

    包含单个数字进行转换和数组进行转换(可用于串口数据解析) 1.十六进制转十进制

    2024年01月16日
    浏览(53)
  • 进制转换—包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2023年04月23日
    浏览(99)
  • 【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2024年02月05日
    浏览(306)
  • 二进制与十进制数互相转换的方法及原理

    有人问我一道十进制数转化为二进制数的题:13.625转化为二进制应该如何表示。让我回忆起十多年前学编程时就搞不懂二进制,不找“不必求甚解”的借口,我搜索了一些平台,但很失望,这么多年过去了,能找到的资源依然和以前一样,只讲怎样操作,不提为什么这样操作

    2024年02月04日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包