首页 > 其他分享 >数制与编码

数制与编码

时间:2022-12-12 23:13:35浏览次数:67  
标签:编码 数制 二进制 汉字 十进制 汉字编码 94

进位计数法

所谓进位计数法是一种计数方法,咱们最常用的莫过于十进制了,除此之外还有八进制、十六进制等。
这里不得不提几个概念术语:

  • 基数:比如说十进制、八进制和十六进制,它们的基数分别为10(09)、8(07)、16(0~15)
  • 数位:比如二进制数1010,这里就有4个数位,从高位到低位依次的数码值为1、0、1、1
  • 数码:比如八进制,那么数码,即数码值的范围为(0~7)
  • 基数和数码的关系:每个数位所用到的不同数码的个数称为基数
  • 位权:每个数码所表示的数值等于该数码值乘以一个与它所在位有关的常数,这个常数称为位权。

二进制转换成八进制和十六进制

image.png

十进制转换成二进制数

十进制转N进制数,比较常用的方法是基数乘除法,这种方法分两步骤:整数部分用除基取余法,小数部分采用乘基取整法,最后将整数与小数部分拼接起来。
image.png
image.png

何为真值,何为机器数

  • 真值:我们日常见到的,有“+”、“-”号的数为真值,比如:+5,-7。真值是机器数所代表的实际值,一般为十进制数。
  • 机器数:将“符号->数字化”的数。一般为二进制数,比如带符号位的4位二进制数0110,最高位0就是符号位,这个数的真值就是+6。通常0代表“+”号,1代表-号。

image.png

BCD码

什么是BCD码

  • 简单来说,就是用4位二进制数来表示1位十进制数(0~9),是一种二进制的数字编码形式,用二进制编码来代替十进制代码。
  • BCD码可分为两类:有权码和无权码
  • 为什么使用BCD码:这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

8421码的计算

当两个8421码进行计算时,如果结果小于等于9,则不作任何操作,如果计算结果大于9则需要进行+6(0110)修正操作,并向高位进位。
image.png
image.png

image.png
image.png

字符和字符串

什么是ASCII码

  • 我们知道我们日常见到的数字(09)、符号比如:#、%、+、@等、英语字母如:(Az)、(a~z),它们在计算机中都是以二进制来表示存储的,咱们可以用不同的二进制数来表示,但是为了统一化、使大家的相互通信可以正常进行,那么就必须制定一套统一的标准来规范它,由此ASCII码随之诞生,大家都遵从这一统一的标准进行数据的通信和交流。至于ASCII码代表的意思,可参考这篇文章

汉字的表示和编码是怎么样的

汉字编码:Hanzi bianma汉字编码(Chinese character encoding )是为汉字设计的一种便于输入计算机的代码。由于电子计算机现有的输入键盘与英文打字机键盘完全兼容。因而如何输入非拉丁字母的文字(包括汉字)便成了多年来人们研究的课题。 汉字信息处理系统一般包括编码、输入、存储、编辑、输出和传输。编码是关键。不解决这个问题,汉字就不能进入计算机。
途径:汉字进入计算机的三种途径 分别为:
①机器自动识别汉字:计算机通过“视觉”装置(光学字符阅读器或其他),用光电扫描等方法识别汉字。
②通过语音识别输入:计算机利用人们给它配备的“听觉器官”,自动辨别汉语语音要素,从不同的音节中找出不同的汉字,或从相同音节中判断出不同汉字。
③通过汉字编码输入:根据一定的编码方法,由人借助输入设备将汉字输入计算机。
机器自动识别汉字和汉语语音识别,国内外都在研究,虽然取得了不少进展,但由于难度大,预计还要经过相当一段时间才能得到解决。在现阶段,比较现实的就是通过汉字编码方法使汉字进入计算机。
分类:计算机中汉字的表示也是用二进制编码,同样是人为编码的。根据应用目的的不同,汉字编码分为外码、交换码、机内码和字形码。
1.外码(输入码)
外码也叫输入码,是用来将汉字输入到计算机中的一组键盘符号。常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。
2.交换码(国标码)
计算机内部处理的信息,都是用二进制代码表示的,汉字也不例外。而二进制代码使用起来是不方便的,于是需要采用信息交换码。中国标准总局1981年制定了中华人民共和国国家标准GB2312–80《信息交换用汉字编码字符集–基本集》,即国标码。
区位码是国标码的另一种表现形式,把国标GB2312–80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。94个区中位置总数=94×94=8836个,其中7445个汉字和图形字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。
3.机内码
根据国标码的规定,每一个汉字都有了确定的二进制代码,在微机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。
4.汉字的字形码
字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。通常用16×16点阵来显示汉字。
5.汉字地址码
汉字地址码是指汉字库中存储汉字字形信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。

image.png

奇偶校验码

数据在计算机系统内形成、存取和传送过程中,可能会因为某种原因而产生错误。为减少和避免这类错误,一方面需要从电路、电源、布线等硬件方面采取措施,提高计算机硬件本身的抗干扰能力和可靠性;另一方面可以在数据编码上采取检错纠错的措施,即采用某种编码方法,使得机器能够发现、定位乃至纠正错误。
image.png

image.png
image.png
image.png

海明码

image.png

循环冗余校验码

image.png

标签:编码,数制,二进制,汉字,十进制,汉字编码,94
From: https://www.cnblogs.com/lengyingmofeng/p/16977381.html

相关文章

  • iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
    键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象。其实由于ObjC的语言特性,你根部不必进行......
  • pytest在linux系统中报编码错误
    pytest项目在windows环境中可以正常运行,但是在linux中运行时,会报编码错误UnicodeDecodeError:'utf-8'codeccan'tdecodebyte0xbcinposition2:invalidstartbyt......
  • 关于JAVA 反射 基础知识/编码经验的一些总结
    写在前面温习一下毕业以来学习的东西。准备做成一个系列。所以对于每一部分技术点进行一个笔记整理。更多详见​​java面试的一些总结​​笔记主要是以网上开源的一本​​......
  • protobuf原理(一):编码原理
    protobuf自身是语言无关的,但是它所提供的编译器以及插件机制可以将我们编写的proto文件生成任意语言的代码,所以可以用来做IDL定义服务接口,可以很方便地让个类型的语言接入......
  • SpringBoot+Vue+kkFielView实现文件预览时提示:Illegal base64 character 3a以及Vue中
    场景kkFileViewhttps://kkfileview.keking.cn/zh-cn/index.htmlkkFileView为文件文档在线预览解决方案,该项目使用流行的springboot搭建,易上手和部署,基本支持主流办公......
  • go-dongle 0.2.1 版本发布,一个轻量级、语义化的 golang 编码解码、加密解密库
    dongle是一个轻量级、语义化、对开发者友好的Golang编码解码和加密解密库Dongle已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/dong......
  • Web应用开发必知的HTML 5编码实践方法
    本人作品,转载请注明出处HTML5现在的发展相当迅速,越来越多的浏览器开始支持HTML5的新特性,也涌现出越来越多的基于HTML5的App应用,毫无疑问,作为web开发者,必须了解和懂得HTML......
  • charSet编码/解码
    packagecom.Lucky.io.Code;importjava.io.UnsupportedEncodingException;importjava.nio.charset.StandardCharsets;importjava.util.Arrays;/*java中编码......
  • 爬虫图片是 base64 编码
    问题爬虫抓取网页的时候,遇到有的图片是base64编码的格式,要怎样下载到本地呢?示例:base64编码的 img 标签<!--内容太长省略一部分--><imgsrc="data:image/png;bas......
  • java基础知识-字符编码
    这块比较乱待整理。。。​​http://www.regexlab.com/zh/encoding.htm​​字符编码字符集。把这些字符集按照不用规则进行编码就形成了不同的字符编码。为什么我们在上网或......