跟之前一样 最高有效位(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个现代和历史脚本,以及多个符号集和表情符号