数字逻辑——数制和码制

server/2024/11/14 8:03:21/

数制转换

十进制或者二进制在此就不再多说。简单说一下两个进制之间的转化。

十进制转化为二进制:

采用乘基取整法,最后注意不要将结果次序写错了。

将十进制转化为二进制小数:

不同于将余数倒过来,二进制小数相反直接得到。

第一次乘2大于等于1的话,说明小数部分是大于等于0.5的,因此二进制小数部分第一位取1;第二次乘2小于1,说明余下的小数小于0.25,因此二进制小数部分第二位取0;其余位置同理。

数码和字符的编码

1.BCD编码

在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用4位二进制数表示1位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal),简称为BCD码。

也就是在实际应用中虽然我们有四位二进制,但是我们只使用其中的10种情况表示0-9。

有权码

在BCD码中,若 4位二进制一组中的每位都有固定权值,则称为有权码(Weighted Code),如8421码、2421 码(各位的权重分别是2,4,2,1)、5421码是有权码。余3码是无权码。

8421码:对应二进制各位的权重分别是8,4,2,1,也就是实际的二进制

例如:(1592)_{10}=(0001\ 0101\ 1001\ 0010)_{8421}

无权码

余3码:就是将数字加3之后得到的二进制表示。例如:(8)_{10}=(1011)_{2}

(1592)_{10}=(0100\ 1000\ 1100\ 0101)_{yu3ma}

2.可靠性编码

为了避免编码在传输或者计算过程中出错,常用一些特殊的编码方式使其能够避免错,或者一旦出错可以通过某种方式被检查出来。

格雷码

格雷码(Gray)的编码规则是任何相邻的两个码字中,仅有一位不同,其他位则相同,如表 1-2所示。

格雷码可以用在计数器中,当从某一编码变到下一个相邻编码时,只有位的状态发生变化,这有利于提高系统的工作速度和可靠性。很显然,格雷码中的每一位都没有固定的权值,是无权码。

奇偶校验码

奇偶校验码是为检查数据传输是否出错设置的,在每组数据信息上附加一位奇偶校验位,若采用奇校验方式,则使包括校验码在内的数据含有奇数个“1”;而偶校验方式则使包括校验码在内的数含有偶数个“1”。

例如字母“B”的7位ASCII码为1000010,在最高位增加一位奇偶校验位。若采用其奇校验,则为11000010;若采用偶校验,则为01000010。
奇偶校验码可发现奇数个错误,但不能发现偶数个错误。当发现奇数个错误时,由于不
知道是哪些位出错,所以奇偶校验码没有纠错能力。

3.字符编码

最常见的字符代码就是ASCII码,每个字符用七位二进制表示。

记住一些常见的开头,比如30对应0,65对应a,97对应A,那么其他数字字母可以通过推断出来。


http://www.ppmy.cn/server/141809.html

相关文章

matlab--pdist2(X,Y)使用方法、怎么计算的

1、基本语法: D pdist2(X,Y,Distance,DistParameter) D:使用 Distance 指定的度量返回 X 和 Y 中每对观测值之间的距离 X、Y:两个列数相同的矩阵,X(mxn)指的是X有m个观测值,n个变量&#xf…

机器学习—高级优化方法

梯度下降是机器学习中广泛应用的优化算法,像线性回归和逻辑回归以及神经网络的早期实现,现在有一些其他的优化算法,为了最小化成本函数,甚至比梯度下降的效果更好,这种算法可以用来帮助训练神经网络,比梯度…

AI 扩展开发者思维方式:以 SQL 查询优化为例

在现代软件开发中,AI 技术的兴起让开发者的思维方式发生了显著变化。尤其是在 SQL 查询优化、代码重构以及算法设计等领域,AI 提供的建议不仅扩展了开发者的思考路径,还帮助他们发现以往没有意识到的潜在解决方案。 1. 传统思维模式下的 SQL…

无人机通信新宠 - SX1276

无人机方案商看过来!SX1276 登场,低功耗长距传输,抗干扰强,灵敏度超高。集成简便,让你的方案性能飙升,轻松引领行业通信前沿,合作从速; SX1276/77/78 收发器主要采用 LoRaTM 远程调制解调器&…

网络学习第四篇

引言: 我们在第三篇的时候出现了错误,我们要就行排错,那么我们要知道一下怎么配置静态路由实现ping通,这样子我们才知道下一跳到底是什么,为什么这样子做。 实验目的 理解和掌握静态路由的基本概念和配置方法。 实…

Scalar API文档替换Swagger

Github:https://github.com/scalar/scalar Nuget:Scalar.AspNetCore 环境:Net9 启用Scalar if (app.Environment.IsDevelopment()) {app.MapScalarApiReference(opt >{opt.DarkMode false;}); // http://ip:port/scalar/v1app.MapOpe…

osqp相关库的安装

规划或者控制和osqp库(非线性求解器)联系比较紧密,这里主要对osqp涉及到的库进行整理: git clone --recursive -b release-0.6.3 https://github.com/oxfordcontrol/osqp.git cd osqp mkdir build && cd build cmake .. …

Git 时想要放弃当前的 commit 操作

如果你在使用 Git 时想要放弃当前的 commit 操作,有几种不同的方式可以选择,具体取决于你希望如何处理已经做出的更改。以下是一些常见的方法: ‌重置到之前的提交‌: 使用 git reset --soft HEAD~1 可以将 HEAD 指针回退到上一个…