mirror of
https://github.com/Didnelpsun/CS408.git
synced 2026-02-08 21:34:41 +08:00
更新数据处理
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -247,7 +247,7 @@ k|2|3|4|5|6|7
|
||||
+ 如果已知一个数值的补码,那么求这个值的负数的补码就是全部包括位取反,末位加一。
|
||||
+ 如果已知一个负数的补码,那个求这个值的原码就是数值位取反再加一,或是负数补码中,最右边的$1$以及右边不变,最右边的$1$的左边取反。
|
||||
+ 补码算术移位:将补码的符号位与数值位一起右移一位并保持原符号位的值不变,表示除二。
|
||||
+ 变形补码:又称为模四部分,双符号位的补码小数,用$00$表示正,$11$表示负,用于完成算术运算的$ALU$部件中。
|
||||
+ 变形补码:又称为模四补码,双符号位的补码小数,用$00$表示正,$11$表示负,用于完成算术运算的$ALU$部件中。
|
||||
|
||||
#### 移码
|
||||
|
||||
@@ -489,6 +489,11 @@ $y_n$(高位)|$y_{n+1}$(低位)|操作
|
||||
+ 长整数转短整数:高位截断,保留低位。
|
||||
+ 短整数转长整数:符号扩展。
|
||||
|
||||
1. 有符号数和无符号数之间的转换。例如,由$signed$型转换为等长$unsigned$型数据时,符号位成为数据的一部分,即负数转换为无符号数时,数值将发生变化。同理,由$unsigned$转换为$signed$时最高位作为符号位,也可能发生数值变化。
|
||||
2. 数据的截取与保留。当一个浮点数转换为整数时,浮点数的小数部分全部舍去,并按整数形式存储。但浮点数的整数部分不能超过整型数允许的最大范围,否则溢出。
|
||||
3. 数据转换中的精度丢失。四舍五入会丢失一些精度,截去小数也会丢失一些精度。此外,数据由$long$型转换为$float$型或$double$型时,有可能在存储时不能准确地表示该长整数的有效数字,精度也会受到影响。
|
||||
4. 数据转换结果的不确定性。当较长的整数转换为较短的整数时,要将高位截去。例如,$long$型转换为$short$型,只将低$16$位送过去,这样就会产生很大的误差。浮点数降格时,如$double$型转换为$float$型,当数值超过$float$型的表示范围时,所得到的结果将是不确定的。
|
||||
|
||||
#### 定点数数据存储与排列
|
||||
|
||||
+ 数据最左边的高位就是最高有效字节$MSB$。
|
||||
|
||||
Reference in New Issue
Block a user