数制和码制

news2025/1/23 5:00:27

目录

几种常见的数制 

数制

基数 

位权

常见的四种数制 

十进制数 

二进制数 

八进制数

十六进制数 

不同进制数的相互转换

例如

例如

编码 

二-十进制码

例如

格雷码

例如

原码、反码和补码


几种常见的数制 

关键术语

数制:以一组固定的符号和统一的规则来表示数值的方法

进位计数制:按一定数值大小进位计数,表示数的方式

数制

任何一种进位计数制包含两个基本的要素:基数和位权

基数 

基数是进位计数制中所采用数码的个数

如果是R进制计数,进位规则是"逢R进一",则要有R个数码,R就是进制计数的基数

例如,十进制计数,有0、1、2、…、9十个不同的数码,基数R为10,六进制计数,有0、1、2、…、5六个不同的数码,基数R为6

位权

在表征数的大小时,由不同的数码组合排列表示,处在不同数位的数码,代表不同的数值,每一个数位的数值大小由该位数码的值乘以处于该位的一个固定值,这个固定值就是该位的“权值”,称为“位权”

如十进制数456的值为4×100+5×10+6×1,其中最高位数码代表数值400,十位上的数码代表数值是50,最低位数码代表数值是6

常见的四种数制 
十进制数 

基数R=10的数制称为十进制,有0、1、2、3、4、5、6、7、8、9十个数码,计数规则为“逢十进一”和“借一当十”

二进制数 

基数R=2的数制称为二进制,有0、1两个数码,对于相邻两位来说,高位的权值是低位权值的2倍,计数时为“逢二进一”和“借一当二”

八进制数

基数R=8的数制称为八进制,有0、1、2、3、4、5、6、7八个数码,对于相邻两位来说,高位的权值是低位权值的8倍,计数时为“逢八进一”和“借一当八”

十六进制数 

基数R=16的数制称为十六进制,有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数码,其中A、B、C、D、E、F分别代表10、11、12、13、14、15,对于相邻两位来说,高位的权值是低位权值的16倍,计数时为“逢十六进一”和“借一当十六”

常见四种进位计数制之间的对照表
十进制二进制八进制十六进制
0000000
1000111
200102

2

3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
不同进制数的相互转换

同一个数,可以用不同的进位计数制表示,所以,不同数制间的转换,其实质就是不同数制间的基数转换,转换的原则为:如果两个有理数相等,则两个数的整数和小数部分分别相等

R进制转换成十进制数的方法为:将被转换的数按权展开 

例如

1.将二进制数1010.11转换成十进制数 

2.将八进制数27.2转换成十进制数

3.将十六进制A6.4转换成十进制数

解:

对于第一题

1010.11
第三位第二位第二位第一位小数点后第一位小数点后第二位
2^32^22^12^02^-12^-2
以下数都为十进制

1*2^3+0*2^2+1*2^1+0*2^0+1*2^-1+1*2^-2=8+2+0.5+0.25=10.75

对于第二题

27.2
第二位第一位小数点后第一位
8^18^08^-1

以下数都为十进制

2*8^1+7*8^0+2*8^-1=16+7+0.25=23.25

对于第三位

A6.4
第二位第一位小数点后第一位
16^116^016^-1

以下数都为十进制

10*16^1+6*16^0+4*16^-1=160+6+0.25=166.25

十进制数转化成R进制数

十进制数转换成R进制数时,整数部分和小数部分需要分别进行转换 


对于整数部分,除R取余法,逆序排列,其中R为基数

对于小数部分,乘R取整法,顺序排列


例如

十进制11.375转换成相应的二进制数


解:

整数转换:采用除2取余法(R=2)

        

11的十进制=1011的二进制

小数转换:采用乘2取整数(R=2),运算时,式中的整数不参加连乘

0.375的十进制=0.011的二进制

所以

11.375的十进制=1011.011的二进制

编码 

关键术语

编码:按一定的方式将0、1数码进行编排,使其表示特定的信息

一般,如有N个特定信息需代码表示,则所需的二进制代码位数n(称为码长)与N项信息之间应当满足2^n≥N

二-十进制码

用4位二进制数表示1位十进制数的代码,称为二-十进制码,又称BCD码,其有很多种不同的编码方式其特征分为有权码和无权码两种类型

8421BCD码

该代码的编码方式为:选择4位自热二进制数的前10组代码,对其0~9进行编码。在一组代码中,每一位二值代表一个固定数值,即有一定的权值,如果将每一位的1所代表的权值按十进制数加起来,其结果是该代码所表示的十进制数,代码从左到右每一位的权值分别为8、4、2、1,这种代码称为8421BCD码,它属于有权码


2421BCD码

2421BCD码是一种有权码,代码中从左到右每一位的权值分别为2、4、2、1,其中代码特点为0和9,1和8,2和7,3和6,4和5互为反码,该特性称为互补性,2421BCD码的编码方案有多种,如十进制数的4,可以有0100和1010两种编码


5211BCD码

5211BCD码是一种有权码,代码从左到右每一位的权值分别为5、2、1、1,5211BCD码的编码方案也有多种,如十进制数的3,有0110和0101两种编码

例如

将698.54十进制转换成8421BCD码

即十进制的每一位由8421BCD码代替

一位用四位表示

6对应0110

9对应1001

8对应1000

5对应0101

4对应0100

698.54的十进制=0110 1001 1000 . 0101 0100   8421BCD码


将76十进制转换成8421BCD码

7对应0111

6对应0110

76的十进制=0111 0110    8421BCD码


将76.34转换成1215BCD码

7对应1011

6对应0011

3对应0110

4对应1110

76.34的十进制=1011 0011 . 0110 1110    1215BCD码

余三码
余3码的编码方式为:在8421BCD基础上,对每一组代码加3,故将这种代码叫作余3码,如果将余3码每个代码视为二进制数,使它等效的十进制数与所表示的代码相等,其代码中每一位1所代表的权值在各组代码中不是固定的,所以余3码表示不像8421BCD码那样直观,各位没有固定的权值,所以余3码是一种无权码

移存码

移存码的编码方式是按移位寄存器中数码移位的规律进行编码,如果移存码为4位二进制数,根据移存过程,可以采用移存码代表0~9十个数码,所以该移存码也是属于二-十进制(BCD)码中的一种
 

十进制数\编码种类

有权码无权码
8421码2421码5421码5211码1215码余3码移存码
00000000000000000000000110001
10001000100010001001001000010
20010001000100011010001010100
30011001100110110011001101001
40100010001000111111001110011
50101101110001000000110000111
6011011001001100100111001

1111

70111110110101100101110101110
81000111010111110110110111100
91001111111001111111111001000
格雷码

格雷码是无权码,又叫循环码,在编码形式上有多种不同方式,但都有一个共同的特点,就是任意两个相邻的代码之间仅有1位不同,其余各位均相同,并具有循环码的特点
 

十进制二进制数格雷码
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

特点

相邻项或对称项只有一位不同 

将二进制转换为格雷码

(1)格雷码的最高位(最左边)与二进制数的最高位相同

(2)从左到右,逐一将二进制数相邻两位异或,作为格雷码的下一位 

例如

二进制数1011转换成格雷码

从左到右

第一位二进制数写下来为1

第二位,看二进制数,第一位跟第二位异或,为1异或0为1
第三位,看二进制数,第二位跟第三位异或,为0异或1为1

第四位,看二进制数,第三位和第四位异或,为1异或1为0

格雷码为1110

格雷码1110转换成二进制数

从左到右

第一位写下来为1

第二位,看格雷码,将写下来的第一位与格雷码第二位异或,1异或1为0

第三位,看格雷码,将写下来第二位与格雷码第三位异或,0异或1为1

第四位,看格雷码,将写下来第三位与格雷码第四位异或,1异或0为1

所以二进制数为1011

奇偶校验码

在编码时,根据信息位中1的个数决定添加的校验位是1还是0,这样,使整个代码中1的个数按预先规定称为奇数或偶数

当信息位和校验位中1的个数为奇数时,称为奇校验码,而1的个数为偶数时,称为偶校验码

十进制数码带奇校验的8421BCD码带偶校验的8421BCD码
十进制数码信息码校验码信息码校验码
00000100000
10001000011
20010000101
30011100110
40100001001
50101101010
60110101100
70111001111
81000010001
91001110010
原码、反码和补码

关键术语

原码:数字的符号以0、1表示,数位部分与原值相同

反码:负数在原码基础上数位部分按位取反,正数与原码相同

补码:整数与原码相同,负数在反码基础上数位部分的末位加1构成

为了简化减法运算,一般转换为加法运算来进行,因此提出了有符号数的三种表示形式,分别为原码、反码和补码 

原码

原码的编码规律为,正数的符号位用0表示,负数的符号位用1表示,数位部分则和真值完全一样 

反码

又称为“对1的补数”,用反码表示时,数值的形式与它的符号位有关,左边第1位是符号位,符号位为0代表正数,符号位为1代表负数,对于负数,反码是将原码数位部分按位取反,而对于正数,反码和原码相同。 

补码
具有许多特点,是数字系统中使用的一种编码,补码又称为“对2的补数”,在补码表示中,正数的表示与原码相同,而负数的补码符号位为1,数值位是将原码按位取反后末位加1

即正数的原码,反码和补码都相同

负数的反码为二进制每位取反

补码为取反后+1

例如       

-10110的二进制原码,反码和补码

原码:110110

反码:101001

补码:101010

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1446535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 两个主要软件的介绍 1.KeiluVision5软件 Keil uVision5是一款集成开发…

Vue中 常用的修饰符有哪些

Vue是一款建立在JavaScript框架上的开源前端库,已经成为当今前端开发人员最喜爱的选择之一。它的简洁语法和强大的功能使得开发者可以轻松地构建交互性的网页应用程序。在Vue中,修饰符是一个重要的概念,它们可以帮助我们更好地控制和定制DOM元…

python多线程连接MySQL查数案例

该博文展示地是基本示例,实际使用时可能需要进行调整。例如,你可能需要添加错误处理来确保数据库连接问题不会导致脚本崩溃,或者你可能需要调整查询以匹配你的数据。 此外,你需要确保你的系统有足够的内存和处理能力来支持并行处理…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行,进行连接池为10,20,30的梯度压测: select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

用HTML5 + JavaScript绘制花、树

用HTML5 JavaScript绘制花、树 <canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。 <canvas> 标签/元素只是图形容器&#xff0c;必须使用脚本来绘制图形。 HTML5 canvas 图形标签基础https://blog.csdn.net/cnds123/article/details/112…

【动态规划】【数学】【C++算法】1449. 数位成本和为目标值的最大数字

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1449. 数位成本和为目标值的最大数字 给你一个整数数组 cost 和一个整数 target 。请你返回满足如下规则可以得到的 最大 整数&#xff1a; 给当前结果添加…

前端面试题——二叉树遍历

前言 二叉树遍历在各种算法和数据结构问题中都有广泛的应用&#xff0c;如二叉搜索树、表达式的树形表示、堆的实现等。同时也是前端面试中的常客&#xff0c;掌握好二叉树遍历算法对于一名合格的前端工程师来说至关重要。 概念 二叉树遍历&#xff08;Binary Tree Traversa…

【c语言】字符串常见函数 上

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;c语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&a…

鸿蒙开发第3篇__大数据量的列表加载性能优化

列表 是最常用到的组件 一 ForEach 渲染控制语法————Foreach Foreach的作用 遍历数组项&#xff0c;并创建相同的布局组件块在组件加载时&#xff0c; 将数组内容数据全部创建对应的组件内容&#xff0c; 渲染到页面上 const swiperImage: Resource[] {$r("app.me…

Linux中FIFO管道

介绍&#xff1a; FIFO被称为命名管道&#xff0c;pipe只能用于有血缘关系的进程间通信&#xff0c;但通过FIFO&#xff0c;不相关的进程也可以进程间通信。 FIFO是linux基础文件类型的一种&#xff08;文件类型为p&#xff09;&#xff0c;FIFO文件在磁盘上没有数据块&#…

【Java八股面试系列】JVM-类和对象加载过程

目录 类和对象的加载过程 类的生命周期 类的加载过程 加载 验证 准备 解析 初始化 类卸载 对象的加载过程 类和对象的加载过程 什么是类加载和对象加载? 类加载&#xff08;Class Loading&#xff09;&#xff1a;这是指JVM在运行时将类的字节码文件加载到内存中的…

2000-2021年县域指标统计数据库

2000-2021年县域统计数据库 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;县域统计年鉴 3、范围&#xff1a;2500县 5、指标&#xff1a; 地区名称、年份、行政区域代码、所属城市、所属省份、行政区域土地面积平方公里、乡及镇个数个、乡个数个、镇个数个、街道办…

【数据结构】13:表达式转换(中缀表达式转成后缀表达式)

思想&#xff1a; 从头到尾依次读取中缀表达式里的每个对象&#xff0c;对不同对象按照不同的情况处理。 如果遇到空格&#xff0c;跳过如果遇到运算数字&#xff0c;直接输出如果遇到左括号&#xff0c;压栈如果遇到右括号&#xff0c;表示括号里的中缀表达式已经扫描完毕&a…

物联网和工业4.0

在当今这个快速发展的技术时代&#xff0c;物联网&#xff08;IoT&#xff09;和工业4.0成为了推动全球进入新工业时代的两大驱动力。对于刚入行的人来说&#xff0c;深入理解这两个概念及其背后的技术原理&#xff0c;对于把握未来的职业机会至关重要。 物联网&#xff0c;简…

【JavaEE】_CSS常用属性

目录 1. 字体属性 1.1 设置字体家族 font-family 1.2 设置字体大小 font-size 1.3 设置字体粗细 font-weight 1.4 设置字体倾斜 font-style 2. 文本属性 2.1 设置文本颜色 color 2.2 文本对齐 text-align 2.3 文本装饰 text-decoration 2.4 文本缩进 text-indent 2.…

java+SSM+Mysql学院教室管理系统81671-计算机毕业设计项目选题推荐(免费领源码)

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;山西能源学院教室管理系统当然也不能排除在外。山西能源学院教室管理系统是以实际运用为开发背景&#xff0c;运用软件工…

【Web】Redis未授权访问漏洞学习笔记

目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis&#xff08;Remote Dictionary Server 远程字典服务器&#xff09;是一个开源的内存数据库&#xff0c;也被称为数据结构服务器&#xff0c;它支持…

【动态规划】【数组】1416. 恢复数组

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1416. 恢复数组 某个程序本来应该输出一个整数数组。但是这个程序忘记输出空格了以致输出了一个数字字符串&#xff0c;我们所知道的信息只有&#xff1a;…

C++初阶:容器(Containers)list常用接口详解

介绍完了vector类的相关内容后&#xff0c;接下来进入新的篇章&#xff0c;容器list介绍&#xff1a; 文章目录 1.list的初步介绍2.list的定义&#xff08;constructor&#xff09;3.list迭代器&#xff08; iterator &#xff09;4.string的三种遍历4.1迭代器4.2范围for循环 5…

随机过程及应用学习笔记(二)随机过程的基本概念

随机过程论就是研究随时间变化的动态系统中随机现象的统计规律的一门数学学科。 目录 前言 一、随机过程的定义及分类 1、定义 2、分类 二、随机过程的分布及其数字特征 1、分布函数 2、数字特征 均值函数和方差函数 协方差函数和相关函数 3、互协方差函数与互相关函…