网址导航建站,小程序制作侧拉切换,河南中安建设集团有限公司网站,html官方下载2.1 无符号数和有符号数
2.1.1 无符号数
没有符号的数#xff0c;其实就是非负数。在计算机中用字节码表示#xff0c;目前最常用的是八位和十六位的。 2.1.2 有符号数
将正负符号数字化#xff0c;0代表 #xff0c;1代表 - #xff0c;并把代表符号的数字放在有效数…2.1 无符号数和有符号数
2.1.1 无符号数
没有符号的数其实就是非负数。在计算机中用字节码表示目前最常用的是八位和十六位的。 2.1.2 有符号数
将正负符号数字化0代表 1代表 - 并把代表符号的数字放在有效数字前就组成了有符号数。
1. 机器数和真值
我们接下来要用到的真值都指的是带符号的二进制数。
机器数是相对于真值而言的下面要讲的原码、补码、反码和移码都属于机器数。 2. 原码表示法
原码顾名思义是机器数最原本的表示方法原码包括两个部分符号位和数值位符号位用0和1代表这个数的正负数值位就是真值的绝对值。
为了区别用原码表示的整数和小数整数的符号位和数值位用逗号隔开小数的则用小数点隔开。
原码的优点表示简单易于和真值转换。
原码的定义 -- 整数 原码的定义 -- 小数
原码可以表示的小数范围在-1和1之间其他带小数的数可以用整数小数这样的组合来表示。 例题
注意在由原码求真值的题目中若结果为正那也得加一个 号 3. 补码表示法
补的概念
取模为12的时候2等价于-10-4等价于83等价于15等价于27。
在上面的例子里-10的补数为2-4的补数为8。并且正数的补数是其本身。
由此可以知道只要确定了模就可以为任何一个负数找到与其对应的正数也就是补数这样就方便进行运算在对含有负数的式子进行加法运算时可以先将负数取补数最后取模即可。
补的结论 补码的定义 -- 整数 补码的定义 -- 小数
用补码表示负的小数时因为符号位要为1所以应该模2也就是用2减去真值这样得到的结果里符号位一定为1数值位即为真值的补数。
要注意2也得用二进制来表示 变形补码 -- 双符号位补码 求补码的快捷方式
对正数来说补码就是符号位加上真值本身简单易求
对负数来说求补码则有快捷方式 总而言之就是符号位不变数值位取反末尾加一。
4. 反码表示法
反码通常是基于上面原码与补码转换的快捷方式所需要的中间过渡。
由于正数不需要快捷方式所以反码还是和原码补码一样只有符号位和真值不同。
只有负数需要将全体数值位转换为相反的数。
反码的定义 -- 整数 反码的定义 -- 小数 例题 5. 移码表示法
用原码和补码时很难一眼比出两个数的大小这时候就需要使用移码了。
移码的定义 移码的特点 同一个真值的移码和补码只差一个符号位。 作业题知识点补充
1. 分数转换为二进制数
以 29/128 为例
第一步
把分子和分母都转换为二进制要表示为2的多少次。 那么分子表示为2^42^32^22^0 那么分母呢2^7 继续将他们写成分数形式2^42^32^22^0/2^7。
接下来计算就好了结果为2^-32^-42^-52^-7。
第二步
讲一个小知识点对于二进制数左移是放大2倍右移是缩小2倍。 那么对于二进制1我们右移得到0.1缩小2倍。所以0.1代表1/2即2-1。同理0.01就是1/4即2-2以此类推。
有了这个基础再看看上面的式子不就是0.0010.00010.000 010.000 0001。 用二进制加法计算出最后结果即0.001 1101。
2. 无原码的特殊情况
补码为1.0000的真值为-1但是没有原码因为小数原码的范围如下 可知小数1和-1都没有原码。
补码为10000的真值为-16但也没有原码因为整数原码的范围如下 当数值位有四位时原码的取值只能小于16。
3. 十六进制转换为二进制
每个十六进制数都代表四位二进制数所以直接按位置转换即可。
0 ~ 9 都可以当成十进制数化为二进制数只是不足的要补足至四位而剩下的则如下表所示
十六进制十进制二进制A101010B111011C121100D131101E141110F151111
2.2 数的定点表示和浮点表示
2.1.1 定点表示 2.1.2 浮点表示 规格化数浮点数的尾数以1开头例如0.110101。
1. 浮点数的表示形式 2. 浮点数的表示范围 3. 浮点数的规范化 2.2.3 定点数和浮点数的比较
当浮点机与定点机中的数其位数相同时浮点数的表示范围比定点数大得多。浮点机和定点记中的数都表示为机器数当浮点数为规格化数时其精度远高于定点数。浮点数运算分阶码和尾数部分而且运算结果要求规格化。在溢出的判断方法上浮点数是对规格化的阶码进行判断而定点数是对数值本身进行判断。
2.2.4 举例 机器零
当浮点数尾数为0时不论其阶码是多少按机器零处理当浮点数阶码等于或小于它能表示的最小数时不论尾数是多少按机器零处理
2.2.5 IEEE 754 标准 S数符号表示浮点数的正负0为正1为负
阶码含阶符实际上是偏移阶码求得阶码需要用原来的阶数加上不同长度实数对应的偏移量
偏移量短实数32位127长实数641023
尾数要先化为“1.xx……xx”的形式再把最高位的“1”省略只列出小数点后面的数不足23位的要用0补齐 2.3 定点运算
2.3.1 移位运算
1. 移位的意义
定点移位就是小数点的绝对位置不动其余的数字全部向左或向右移动
左移时绝对值增大右移时绝对值减小。
在计算机中整移位运算很有用让移位和加减配合就可以实现乘除运算。
算术移位有符号数的移位数值位在移位符号位不变。
逻辑移位无符号数的移位。
2. 算术移位规则
机器数移位后的空位添补规则 要注意在算术移位中移位前后符号位不变。
而逻辑移位中左移时低位添0高位丢弃右移时高位添0低位丢弃。
2.3.2 加减法运算
1. 补码加减运算公式