**1\. 机器数和真值**
二进制数有正负之分,如N1\=+0.101101,N2\=-0.101101,则N1是个正数,N2是个负数。机器不能直接把符号“+”、“-”表示出来,为了能在计算机中表示正负数,必须引入符号位,即把正负符号也用1位二进制数码来表示。把符号位和数值位一起编码来表示相应的数的表示方法包括:原码、补码、反码、移码等。
>[danger] 机器数:符号位也当做2进制数进行编码的数(又称机器码),所以它包括...
为了便于在计算机中表示,同时又便于与实际值相区分,在此首先引入机器数和真值的概念。
**机器数** 用二进制数“0”或“1”来表示数的符号,“0”表示正号,“1”表示负号,且把符号位置于该数的最高数值位之前(放在数的最前面),这样表示的数称为机器数(或称机器码),即把符号位和数值位一起编码来表示的数就是机器数。
**真值** 一
般书写中用“+”、“-”来表示数的符号,这样表示的数称为真值。
例如:N1\= +0.101101,N2\= -0.101101,这是真值,表示成机器数(以原码为例)就是\[N1\]原\= 0.101101,\[N2\]原\= 1.101101。
>[danger] 有正负号的实际值
机器数有原码、补码、反码和移码四种表示形式。下面以整数为例说明原码、补码、反码和移码的表示方法。
**2\. 原码**
>[danger] 符号位加上数值的绝对值
符号位为0表示正数,为1表示负数,数值部分用二进制数的绝对值表示的方法称为原码表示法,通常用\[X\]原表示X的原码。
例如,要表示+59和-59的原码。假设机器数的位数8位(即机器的字长为8位),最高位是符号位,其余7位是数值位,那么,+59和-59的原码分别表示为:
\[+59\]原\=00111011 \[-59\]原\=10111011
写成一般式则为:
正数的原码 \[X\]原\=X (0<X<2n-1)
负数的原码 \[X\]原\=2n-1\-X (-2n-1<X<0)
注意:0的原码有两个值,有“正零”和“负零”之分,机器遇到这两种情况都当作0处理。
>[danger]\[+0\]原\=00000000 \[-0\]原\=10000000
原码的表示方法简单易懂,与真值转换方便,但在进行加减法运算时,符号位不能直接参加运算,而是要分别计算符号位和数值位。当两数相加时,如果是同号,则数值相加;如果是异号,则要进行减法运算。而在进行减法运算时,还要比较绝对值的大小,然后用大数减去小数,最后还要给运算结果选择恰当的符号。
为了解决这些问题,人们引进了数的补码表示法。
**3\. 补码**
>[danger] 先算出原码 符号位不变数值部分如果是0就变1如果是1就变0,最后在加1
什么是补码?我们先用日常生活中的实例来进行说明。假如现在时间是7点,而你的手表却指向了9点,如何调整手表的时间?有两种方法拨动时针,一种是顺时针拨,即向前拨动10个小时;另一种是逆时针拨,即向后拨2个小时。从数学的角度可以表示为:
(9+10) -12=19-12=7
或 9-2=7
可见,对钟表来说,向前拨10个小时和向后拨2个小时的结果是一样的,减2可以用加10来代替。这是因为钟表是按12进位的,12就是它的“模”。对模12来说,-2与+10是“同余”的,也就是说,-2与+10对于模12来说是互为补数的。
计算机中的加法器是以2*n*为模的有模器件,因此可以引入补码,把减法运算转换为加法运算,以简化运算器的设计。
补码的定义:把某数X加上模数K,称为以K为模的X的补码。
\[X\]补\=K+X
因此,正数的补码的最高位为符号“0”,数值部分为该数本身;负数的补码的最高位为符号“1”,数值部分为用模减去该数的绝对值。
通过用模2n减去某数的绝对值的方法来求某数的补码比较麻烦,求一个二进制数的补码的简便方法是:正数的补码与其原码相同;负数的补码是符号位不变,数值位逐位取反(即求其反码),然后在最低位加1。
例如,\[+59\]补\=\[+59\]原\=00111011,而\[-59\]原\=10111011,因此,\[-59\]补\= 11000100+1 = 11000101。
注意:0的补码只有一种形式,就是n位0。
采用补码表示法进行加减法运算,比原码运算方便多了,符号位可以和数值位一起参加运算,而且不论数是正还是负,计算机总是做加法,减法运算可转换为加法运算。
**4\. 反码**
引入反码的目的是便于求负数的补码。
正数的反码与原码相同,负数的反码是符号位不变,数值位逐位取反。
例如:\[+59\]反\=\[+59\]原\=00111011,而\[-59\]原\=10111011,因此,\[-59\]反\=11000100。
注意:0的反码也有两个,\[+0\]反\=00000000,\[-0\]反\=11111111
在计算机中,求一个数的反码很容易,因此,求一个数的补码也就易于实现。
采用补码运算,计算机的控制线路较为简单,所以,目前大多数计算机均采用补码存储、补码运算,其运算结果仍为补码形式。
综上所述,在n位机中,用n位二进制数补码表示一个带符号的整数时,最高位为符号位,后面n-1位为数值部分。n位二进制数补码表示的范围为-2n-1~+2n-1\-1。例如,在8位机中,补码表示的范围为-128~+127。
**5)移码**
移码也称为增码或偏码,常用于表示浮点数中的阶码。
移码可由补码求得,只要把补码的符号位取反就得到了移码。
# 机器数与原码有区别吗?
在计算机中表示的带符号的二进制数称为机器数。原码是机器数的一种表示方式
>[danger](1)1和-1的原码分别是多少?
[+1]原 = 0000 0001
[-1]原 = 1000 0001
>[danger](2)一个字节的存储空间存储的数值的范围是多少?
[1111 1111 , 0111 1111]
也就是
[-127 , 127]
>[danger](3)1和-1的反码分别是多少?
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
>[danger](4)1和-1的补码分别是多少?
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
>[danger](5)分别用反码和补码计算1-1=0,看有啥区别?
1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0
1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = \[0000 0001\]反 + \[1111 1110\]反=[0000 0001]补 + [1111 1111]补 = [0000 0000]补=[0000 0000]原
>[info]注意
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。
>[danger](6)已知一个补码为11111001,计算它的原码
因为符号位为“1”,表示是一个负数,所以该位不变,仍为 “1”;其余7位1111001取反后为0000110;再加1,所以是10000111(-7)。
>[danger](7)假如用16位表示十进制数-100,则它的原码,反码,补码分别是多少?
(-100)= [1000 0000 0110 0100]原
(-100)= [1111 1111 1001 1011]反
(-100)= [1111 1111 1001 1100]补
>[danger](8) 十六位机器码的原码反码补码怎么算
比如:用十六位机器码1110001010000000来表示定点整数(最高位为符号位),当它是原码时表示的十进制真值为 多少?。当它是补码时表示的十进制真值是 多少? ;当它是反码时表示的十进制真值是多少?。怎么算
十六位机器码1110,0010,1000,0000
不管它是什么码,首先都要先将它转化为原码再做计算!
当它是原码时就直接转化为十进制的! (注释2ˇ3=8)
=-(2ˇ7)+(2ˇ9)+(2ˇ13)+(2ˇ14)=-25216
-25216就是真值 !
当它是补码时:先将它转化为原码,方法就是补码的补码就等于原码!
补码:1110,0010,1000,0000
原码:1001,1101,1000,0000
=-(2ˇ7)+(2ˇ8)+(2ˇ10)+(2ˇ11)+(2ˇ12)=-7552
-7552就是真值
当它是反码时:
反码:1110,0010,1000,0000
原码:1001,1101,0111,1111
=-1+2+4+8+16+32+64+256+1024+2048+4096=-7551
-7551就是真值
- 计算机网络ip相关
- word01参考答案
- 关于四种数据冗余
- 计算机中各种码!
- 综合试卷一
- 综合试卷二
- 关于access掩码
- access函数集合
- Excel
- 2. 使用Excel2010的“翻译器”快速翻译
- 3. Excel2010去除图片背景
- 4. Excel2010的截图工具
- 5. Excel2010粘贴预览功能
- 6. 用Excel2010快速处理图片功能
- 7. 利用Excel2010的SmatrArt模板创建
- 8. Excel2010中的数据分析小迷你图功
- 9. Excel2010中的切片器功能
- 10. Excel 2010的将文档发布到
- 11. Excel2010转PDF和XPS格式
- 12. 保持Excel2010与低版本格式兼容
- 13. 锁定Excel2010中的常用文档
- 14. 清除Excel2010中打开的文件记录
- 15. 恢复Excel2010未保存的文件
- 16. 设置Excel2010自动保存时间间隔
- 17. 更改Excel2010默认用户名称
- 18. 修改多个Excel2010的文档的作者
- 19. 巧妙扩大Excel2010编辑区域
- 20. 鼠标滚动轮对Excel2010窗口进行缩
- 21. 让Excel自动滚屏
- 22. 改变Excel2010快速访问工具栏位置
- 23. 自定义Excel2010快速访问工具栏
- 24. Excel 2010的浮动工具栏功能
- 25. 巧妙设置Excel2010状态栏
- 26. 取消Excel2010消息栏警报
- 27. 拆分Excel2010工作表窗口
- 28. Excel2010的工作界面
- 29. Excel工作簿的新建和保存
- 30. Excel中数据的类型和输入数据的各
- 31. Excel2010自动填充数据
- 32. 选择Excel单元格或单元格区域
- 33. Excel2010的编辑功能
- 34. 选择Excel2010工作表常用方法
- 35. 在Excel2003工作簿中插入工作表
- 36. Excel2010移动或复制工作表
- 37. Excel2010合并单元格
- 38. 在Excel2010中插入和删除单元格
- 39. 调整Excel的行高和列宽
- 40. 给Excel单元格插入批注
- 41. 在Excel单元格中添加斜线
- 42. 拆分Excel工作表窗格
- 43. 冻结Excel窗格功能
- 44. Excel2010中设置字体的格式
- 45. Excel中的数据设置不同数字格式
- 46. 设置Excel单元格的对齐方式
- 47. 设置Excel表格和单元格的边框和底
- 48. 在Excel中应用条件格式
- 49. Excel中的公式和函数
- 50. Excel公式中的运算符及优先级
- 51. Excel2010中创建公式和修改公式
- 52. Excel2010引用的类型
- 53. Excel的常用函数类型和使用方法
- 54. Excel2010数组公式
- 55. Excel2010简单排序
- 56. 在Excel中多关键字排序
- 57. Excel 的数据筛选功能
- 58. Excel2010高级筛选
- 59. Excel分类汇总
- 60. Excel分级显示数据
- 61. Excel2010按位置合并计算
- 62. Excel的按分类合并计算方式
- 63. Excel2010中创建数据透视表
- 64. 编辑Excel数据透视表
- 65. 创建Excel数据透视图
- 66. Excel2010中图表的组成和类型
- 67. Excel 2010中创建图表
- 68. Excel工作表的页面设置
- 69. 设置Excel工作表的页眉和页脚
- 70. 设置Excel工作表打印区域和可打印
- 71. 插入Excel分页符
- 72. Excel工作表打印预览
- 73. 为Excel工作簿设置密码
- 74. Excel工作表进行保护加密
- 75. 隐藏Excel工作表内容
- 76. Excel 2010的共享工作簿功能
- 77. Excel的合并工作簿功能
- 78. Excel2010中插入工作表
- 79. excel2010如何设置密码
- 80. 在excel中输入身份证号码
- 81. excel2010的打印预览在哪里
- 82. 使用excel2010制作一个简单的销售
- 83. 设置excel2010中的数据条件格式方
- 84. 利用excel条件格式让部分数据突出
- 85. 在excel2010中为单元格区域设置名
- 86. 批量把excel2010数据表格中的合计
- 87. 在excel中计算数据的众数
- 88. 在excel表格里插入折线图
- 89. 用excel2010的图标来设置条件格式
- 90. 在excel表格的打印预览界面调整页
- 91. 使用excel的VBA来彻底隐藏工作表
- 92. 在多个excel工作簿中任意切换
- 93. 以年快速填充excel日期数据
- 94. 使用excel2010中的数据有效性自动
- 95. 使用excel保护工作表的功能
- 96. excel2010中的以工作日填充日期的
- 97. 启动excel2010的同时打开多个文件
- 98. excel2010自动备份工作簿
- 99. 给excel2010的迷你图添加色彩
- 100. 在excel2010中设置重复值的格式
- 101. 通过excel2010设置三色刻度条件
- 102. 如何自定义excel2010的三色刻度
- 103. 在excel2010中设置双色刻度的条
- 104. 数据透视表准备工作:填充excel空
- 105. 批量更改excel2010工作表名称
- 106. EXCEL2010中的高级筛选
- 107. excel2010将工作表调整为一页打
- 108. excel2010的条件格式功能
- 109. 在excel2010中显示编辑栏的方法
- 110. 进行快速的搜索excel工作簿
- 111. office2010的安装使用详细步骤教
- 112. 在excel2010中做奇偶行不同颜色
- 113. excel2010中粘贴预览功能的效果
- 114. 使用excel2010中的迷你图做出趋
- 115. 把excel2010的默认字体更改为雅
- 116. excel2010中增加的迷你图新功能
- 117. excel2010中双色刻度的条件格式
- 118. 在excel2010中设置一下数据的精
- 119. 在EXCEL2010中制作斜线表头
- 120. 使用excel2010自动恢复功能找到
- 121. excel2010的排序功能
- 122. 在excel2010中输入数列的好方法
- 123. excel2010的筛选功能
- 124. excel2010中如何选择复制单元格
- 125. excel2010中的SmartArt图形功能
- 126. 在EXCEL2010中给SmartArt图形
- 127. 利用EXCEL2010内置序列达到快
- 128. 删除EXCEL2010中重复的记录
- 129. 在SmartArt图形中输入文本
- 130. 利用快捷键设置、建立SmartArt图
- 131. EXCEL2010中了加入了截图的功
- 132. 将EXCEL2010文件转存为PDF文档
- 133. 使用快捷键对excel功能区进行操作
- 134. 在excel2010中鼠标双击操作的小
- 135. 把excel文件转换为PDF格式的文件
- Excel常用自定义格式参数