# zb_java0719 **Repository Path**: doraemon-1024/zb_java0719 ## Basic Information - **Project Name**: zb_java0719 - **Description**: 计算机基础补充:原码、反码、补码 运算符 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2018-07-19 - **Last Updated**: 2020-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zb_java0719 # 教学目标 1.计算机基础补充:原码、反码、补码 2.运算符 # 课堂笔记 ## 计算机基础:原码、反码、补码 原码、反码、补码主要是计算机中二进制对负数的兼容; 1.原码 使用二进制表示一个数就是这个数的原码; 计算机二进制中的负数的表示,采用最高位(最左侧)作为符号位,1表示负数,0表示整数; 正数的原码就是其二进制的数; 负数的原码: 将负数的绝对值使用二进制表示以后,将最高位变为1,这就是负数原码; 例如: -3 原码: 1000 0011 因为cpu只会进行加法运算,所以需要将减法变为加法,但是计算机使用原码进行运算时,运算结果是错误的; 例如: 2-5 转换加法 2+(-5) 这时,用原码进行计算,结果是错误的; 2 原码 0000 0010 -5 原码 1000 0101 相加 1000 0111 原码结果是 -7 基于以上原因: 提出了补码的概念,补码的作用就是将减法转换为加法进行运算; 补码求法: 正数的补码和原码一样。 负数的补码:原码的最高符号位不变,其他各位取反+1; 求法二:反码+1; 补充:负数的补码继续进行求补运算得到是原码; 反码: 存在价值:为了求补码,是一个中间过程值。 正数的反码和原码一样; 负数的反码:原码的最高符号位不变,其他各位取反; 示例:运用补码计算 2-5 2 原码 0000 0010 补码 0000 0010 -5 原码 1000 0101 补码 1111 1011 进行加法运算 1111 1101 (计算结果还是补码) 还原为原码: 1000 0011 (原码:-3) ####### 定律:计算机中所有的数都是以补码的形式存在的。【计算机中的负数是以补码的形式存在的】【正数的原码、反码、补码一样】 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)