黑马程序员技术交流社区

标题: 原码反码补码的用法 [打印本页]

作者: huanglinwang    时间: 2016-5-24 18:33
标题: 原码反码补码的用法
// 数据在内存中都是以二进制的补码进行存储。
并且计算机中的运算只有加法,,二进制补码进行运算效率高,  

在对于按位&  |  ~ ^  的时候都是补码进行运算,,切记!!!
//原码:正数的原码最高位为0     负数的原码最高位为1
//反码: 正数的原码就是反码     负数的原码  符号位不变   其他位取反
//补码:正数的原码就是补码     负数的补码   就是在反码的基础+1

//--------------都是对补码进行操作
//按位于  &       有0则0   俩个1 则1
//按位或   |       有1则1  两个0 则0
//按位取反   ~     每一位进行取反
//按位异或   ^     相同为0 不同为1    可以用来进行两个数的交换


//按位左移  <<     a << 5   ==  a * 2的五次方
    //可能会改变正负
//按位右移  >>     a >> 5   ==   a /2的五次方
//


作者: huanglinwang    时间: 2016-5-24 18:47

作者: 2528    时间: 2016-5-24 20:26
挺好的。
作者: huangyihan1988    时间: 2016-5-24 21:03
哇哇哇哇哇哇哇哇哇哇
作者: 牛牛很牛    时间: 2016-5-24 23:23
//按位  &       有0则0   俩个1 则1这里有个错别字

作者: xiaoxin1789    时间: 2016-5-24 23:23
关于原码反码补码的问题,也可以参照这幅图,比较直观

code.jpg (33.9 KB, 下载次数: 13)

code.jpg

作者: huanglinwang    时间: 2016-5-26 20:36
牛牛很牛 发表于 2016-5-24 23:23
//按位于  &       有0则0   俩个1 则1这里有个错别字

哈哈哈,我都没注意
作者: huanglinwang    时间: 2016-5-26 20:38
xiaoxin1789 发表于 2016-5-24 23:23
关于原码反码补码的问题,也可以参照这幅图,比较直观

看不懂啊,,,,解释解释




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2