| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 嵌入式系统学习 -> 正文阅读 |
|
[嵌入式]嵌入式系统学习 |
跟之前一样 最高有效位(MSB)是符号位:0表示正整数,1表示负整数。 计算规则如上图所示? 下图是二的补语表示法化二进制 加减运算规则 需要避免overflow(溢出)一下四种是可能的情况 (关于二的补码表示法的计算目前存疑) 浮点数的表示法 浮点数用科学记数法(scientific notation)表示,以分数(fraction)(F)和某个基数(exponent)(r)的指数(radix)(E)表示,形式为F×r^E 浮点数在用固定位数(例如32位或64位)表示时会出现精度损失。 十进制数以10为基数(F×10^E);而二进制数使用基数2(F×2^E) 浮点数算法的效率远远低于整数算法。它可以通过所谓的专用浮点协处理器来加速 写成科学计数法形式的数一般是下图形式 Mantissa 是尾数 exponent是基数 而计算机型式则是 significand是有效数 黄色部分决定能表示的数的范围range 紫色部分决定能表示的数的精度precision 例如要表示32 32是0.1x2^6 而6的二进制形式是110 故而如下图所示 也可以写成0.01x2^7形式 现代计算机采用IEEE 754标准来表示浮点数 分为32位单精度(32-bit single-precision)和64位单精度 如图所示 理解内存中的字节(byte)排列 大端(endian)和小端? endian是字节序 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 ARM处理器默认为little endian;并可编程为big endian操作 By default 是默认情况下 当数据被存储、传输或解释时,工程师需要意识到数据的终结性。 串行通信特别容易受到端号问题的影响,因为多字节数据字中包含的字节将不可避免地按顺序传输,通常是从MSB到 LSB或LSB至MSB (以上关于内存中的字节排列还有疑问) 二进制码 编码和解码 最常用的四种编码方案 encoding schemes BCD, ASCII, Unicode, Gray codes 仅限0-9, 10-15 不表示 计算机系统通常使用4位BCD系统来只表示和处理数值数据 这两者不同 BCD的加法运算 通俗来说就是直接相加再加6 接下来8位和16位系统 我们还需要表示字母和其他符号字母数字代码 6位BCD系统可以处理数字和非数字数据,但很少使用特殊字符 开发8位和16位编码系统是为了克服6位BCD系统的局限性,该系统可以处理几乎所有特殊字符(如+、-、*、/、@、$)的数字和非数字数据 下面是最常用的 Extended Binary Coded Decimal Interchange Code (EBCDIC) American Standard Code for Information Interchange (ASCII) ?ASCII Parity Bit (Ascll奇偶校验位) ?Unicode ?Gray Code EBCDIC代码是由IBM开发的8位字母数字代码,用于表示字母、十进制数字和特殊字符,包括控制字符。 EBCDIC代码通常是不同字符的十进制和十六进制表示。 非IBM兼容的计算机系统很少使用此代码。 ASCII码发音为ASKEE,用于与EBCDIC码相同的目的。但是,此代码比EBCDIC代码更受欢迎,因为与EBCDIC代码不同,此代码可以由大多数非IBM计算机系统实现 最初,该代码被开发为7位BCD代码,用于处理128个字符,但后来被修改为8位代码,称为ASCII奇偶校验位代码 94可打印(26个大写字母和26个小写字母,10位数字,32个特殊符号)34不可打印(用于控制功能) 附上一张图 奇偶校验编码用于检测数据通信中的错误和加工(具体方法参考课件资料) Gray code 格雷码 Unicode统一码 国际字符集的既定标准(16位字母数字代码) 与ASCII(每个字符使用7或8位)不同,Unicode使用16位,这意味着它可以表示65000多个唯一字符 由4个十六进制数字表示,ASCII介于(0000)16之间(007B)16 该标准由Unicode联盟维护,截至2020年3月,共有143859个字符,Unicode 13.0(这些字符包括143696个图形字符和163个格式字符)覆盖154个现代和历史脚本,以及多个符号集和表情符号 跟之前一样 最高有效位(MSB)是符号位:0表示正整数,1表示负整数。 计算规则如上图所示? 下图是二的补语表示法化二进制 加减运算规则 需要避免overflow(溢出)一下四种是可能的情况 (关于二的补码表示法的计算目前存疑) 浮点数的表示法 浮点数用科学记数法(scientific notation)表示,以分数(fraction)(F)和某个基数(exponent)(r)的指数(radix)(E)表示,形式为F×r^E 浮点数在用固定位数(例如32位或64位)表示时会出现精度损失。 十进制数以10为基数(F×10^E);而二进制数使用基数2(F×2^E) 浮点数算法的效率远远低于整数算法。它可以通过所谓的专用浮点协处理器来加速 写成科学计数法形式的数一般是下图形式 Mantissa 是尾数 exponent是基数 而计算机型式则是 significand是有效数 黄色部分决定能表示的数的范围range 紫色部分决定能表示的数的精度precision 例如要表示32 32是0.1x2^6 而6的二进制形式是110 故而如下图所示 也可以写成0.01x2^7形式 现代计算机采用IEEE 754标准来表示浮点数 分为32位单精度(32-bit single-precision)和64位单精度 如图所示 理解内存中的字节(byte)排列 大端(endian)和小端? endian是字节序 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 ARM处理器默认为little endian;并可编程为big endian操作 By default 是默认情况下 当数据被存储、传输或解释时,工程师需要意识到数据的终结性。 串行通信特别容易受到端号问题的影响,因为多字节数据字中包含的字节将不可避免地按顺序传输,通常是从MSB到 LSB或LSB至MSB (以上关于内存中的字节排列还有疑问) 二进制码 编码和解码 最常用的四种编码方案 encoding schemes BCD, ASCII, Unicode, Gray codes 仅限0-9, 10-15 不表示 计算机系统通常使用4位BCD系统来只表示和处理数值数据 这两者不同 BCD的加法运算 通俗来说就是直接相加再加6 接下来8位和16位系统 我们还需要表示字母和其他符号字母数字代码 6位BCD系统可以处理数字和非数字数据,但很少使用特殊字符 开发8位和16位编码系统是为了克服6位BCD系统的局限性,该系统可以处理几乎所有特殊字符(如+、-、*、/、@、$)的数字和非数字数据 下面是最常用的 Extended Binary Coded Decimal Interchange Code (EBCDIC) American Standard Code for Information Interchange (ASCII) ?ASCII Parity Bit (Ascll奇偶校验位) ?Unicode ?Gray Code EBCDIC代码是由IBM开发的8位字母数字代码,用于表示字母、十进制数字和特殊字符,包括控制字符。 EBCDIC代码通常是不同字符的十进制和十六进制表示。 非IBM兼容的计算机系统很少使用此代码。 ASCII码发音为ASKEE,用于与EBCDIC码相同的目的。但是,此代码比EBCDIC代码更受欢迎,因为与EBCDIC代码不同,此代码可以由大多数非IBM计算机系统实现 最初,该代码被开发为7位BCD代码,用于处理128个字符,但后来被修改为8位代码,称为ASCII奇偶校验位代码 94可打印(26个大写字母和26个小写字母,10位数字,32个特殊符号)34不可打印(用于控制功能) 附上一张图 奇偶校验编码用于检测数据通信中的错误和加工(具体方法参考课件资料) Gray code 格雷码 Unicode统一码 国际字符集的既定标准(16位字母数字代码) 与ASCII(每个字符使用7或8位)不同,Unicode使用16位,这意味着它可以表示65000多个唯一字符 由4个十六进制数字表示,ASCII介于(0000)16之间(007B)16 该标准由Unicode联盟维护,截至2020年3月,共有143859个字符,Unicode 13.0(这些字符包括143696个图形字符和163个格式字符)覆盖154个现代和历史脚本,以及多个符号集和表情符号 跟之前一样 最高有效位(MSB)是符号位:0表示正整数,1表示负整数。 计算规则如上图所示? 下图是二的补语表示法化二进制 加减运算规则 需要避免overflow(溢出)一下四种是可能的情况 (关于二的补码表示法的计算目前存疑) 浮点数的表示法 浮点数用科学记数法(scientific notation)表示,以分数(fraction)(F)和某个基数(exponent)(r)的指数(radix)(E)表示,形式为F×r^E 浮点数在用固定位数(例如32位或64位)表示时会出现精度损失。 十进制数以10为基数(F×10^E);而二进制数使用基数2(F×2^E) 浮点数算法的效率远远低于整数算法。它可以通过所谓的专用浮点协处理器来加速 写成科学计数法形式的数一般是下图形式 Mantissa 是尾数 exponent是基数 而计算机型式则是 significand是有效数 黄色部分决定能表示的数的范围range 紫色部分决定能表示的数的精度precision 例如要表示32 32是0.1x2^6 而6的二进制形式是110 故而如下图所示 也可以写成0.01x2^7形式 现代计算机采用IEEE 754标准来表示浮点数 分为32位单精度(32-bit single-precision)和64位单精度 如图所示 理解内存中的字节(byte)排列 大端(endian)和小端? endian是字节序 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 Endianness也称为字节顺序,它描述了大值字节存储在内存中或在传输协议或流(例如音频、视频流)中通过网络传输的顺序。 ARM处理器默认为little endian;并可编程为big endian操作 By default 是默认情况下 当数据被存储、传输或解释时,工程师需要意识到数据的终结性。 串行通信特别容易受到端号问题的影响,因为多字节数据字中包含的字节将不可避免地按顺序传输,通常是从MSB到 LSB或LSB至MSB (以上关于内存中的字节排列还有疑问) 二进制码 编码和解码 最常用的四种编码方案 encoding schemes BCD, ASCII, Unicode, Gray codes 仅限0-9, 10-15 不表示 计算机系统通常使用4位BCD系统来只表示和处理数值数据 这两者不同 BCD的加法运算 通俗来说就是直接相加再加6 接下来8位和16位系统 我们还需要表示字母和其他符号字母数字代码 6位BCD系统可以处理数字和非数字数据,但很少使用特殊字符 开发8位和16位编码系统是为了克服6位BCD系统的局限性,该系统可以处理几乎所有特殊字符(如+、-、*、/、@、$)的数字和非数字数据 下面是最常用的 Extended Binary Coded Decimal Interchange Code (EBCDIC) American Standard Code for Information Interchange (ASCII) ?ASCII Parity Bit (Ascll奇偶校验位) ?Unicode ?Gray Code EBCDIC代码是由IBM开发的8位字母数字代码,用于表示字母、十进制数字和特殊字符,包括控制字符。 EBCDIC代码通常是不同字符的十进制和十六进制表示。 非IBM兼容的计算机系统很少使用此代码。 ASCII码发音为ASKEE,用于与EBCDIC码相同的目的。但是,此代码比EBCDIC代码更受欢迎,因为与EBCDIC代码不同,此代码可以由大多数非IBM计算机系统实现 最初,该代码被开发为7位BCD代码,用于处理128个字符,但后来被修改为8位代码,称为ASCII奇偶校验位代码 94可打印(26个大写字母和26个小写字母,10位数字,32个特殊符号)34不可打印(用于控制功能) 附上一张图 奇偶校验编码用于检测数据通信中的错误和加工(具体方法参考课件资料) Gray code 格雷码 Unicode统一码 国际字符集的既定标准(16位字母数字代码) 与ASCII(每个字符使用7或8位)不同,Unicode使用16位,这意味着它可以表示65000多个唯一字符 由4个十六进制数字表示,ASCII介于(0000)16之间(007B)16 该标准由Unicode联盟维护,截至2020年3月,共有143859个字符,Unicode 13.0(这些字符包括143696个图形字符和163个格式字符)覆盖154个现代和历史脚本,以及多个符号集和表情符号 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:20:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |