A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任振铭 中级黑马   /  2015-9-16 22:19  /  687 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

位运算~6=7,这道题不太理解,老师的讲解中涉及到了原码反码和补码,具体思路谁能告知一二?

2 个回复

倒序浏览
~   是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。
①原码:就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.
②反码:就是原码取反,正数反码就是本身,负数的反码就是在原码基础上符号位不变,其余位取反。
③补码:正数补码就是其本身,负数补码是在其原码基础上,符号位不变其他位取反在+1.
例如 6原码:  00000110   反码(按位取反): 11111001   
       -7原码 :  10000111  反码(按位取反) : 11111000  补码:11111001
     所以6~=-7
回复 使用道具 举报
1406046710 发表于 2015-9-17 11:56
~   是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。
①原码:就是符号位加上真值的绝对值 ...

谢谢了,你说的很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马