- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * IfTest1 * * * * * SwitchTest * * * * loop * * * * * Char Test8 * * * * * test2 * Test4.java * * Scopetest1.java * * * * Test5.java * Test5.java * * * test12 * * * * * * * * 先要理解一些概念: 在2进制中,负数是以它正值的补码形式表达 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。 比如 0000 0000 0000 0000 0000 0000 0000 0101是 5的 原码。 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 取反操作指:原为1,得0;原为0,得1。(1变0; 0变1) 比如:将5的二进制表达式的每一位取反,得 1111 1111 1111 1111 1111 1111 1111 1010 称:1111 1111 1111 1111 1111 1111 1111 1010 是 0000 0000 0000 0000 0000 0000 0000 0101 的反码。 反码是相互的,所以也可称: 1111 1111 1111 1111 1111 1111 1111 1010 和 0000 0000 0000 0000 0000 0000 0000 0101 互为反码。 补码:反码加1称为补码。 也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。 那么,5的补码为: 1111 1111 1111 1111 1111 1111 1111 1010 + 1 = 1111 1111 1111 1111 1111 1111 1111 1011 所以,-5 在计算机中的二进制表达为: 1111 1111 1111 1111 1111 1111 1111 1011 转换为十六进制:0xFFFFFFFB。 ==================================== 明白了上面的就可以理解怎么求 ~i 了 int型储存32个二进制位,~这个符号是按位取反,就是求i的反码。 即得到1111 1111 1111 1111 1111 1111 1111 1010 上面这串二进制代表一个负数,将它转换成int型过程如下: 1111 1111 1111 1111 1111 1111 1111 1010-1 = 1111 1111 1111 1111 1111 1111 1111 1001 再求反: 0000 0000 0000 0000 0000 0000 0000 0110 这个值就是5的按位取反所得到的int整数的绝对值(注意:5按位取反得到的是负数) 所以转换为int型为:6 即:int型的i=5 取反后的结果为-6 * bitTest * * * Test9 * Test9 * test15 练习: 利用循环打印以下图形 * ** *** **** ***** ****** * * * * * * * Helloduke.java Commenttest.java * * * * * * * * * * * * * * * * * One bit * * * * * * compati1 * * Test1.java 2.4.10 两类逻辑运算应用时的区别 位运算(、|)执行时没有表达式短路现象:int i = 5;if(i 6 | (i++) 5) { System.out.println(“i == ” + i); }打印出i ==6 * 2.4.11 位运算符 按位取反:~ 按位与:按位异或:^ 按位或:| 位逻辑运算符只可用于整数类型、char和逻辑类型,不可应用于浮点类型(~不可应用于boolean)应用整数类型时采用位逻辑,应用逻辑类型时进行逻辑运算 位运算的表达式的类型规则与数学运算一致 当运算作用于boolean变量时结果为boolean * 2.4.12 位运算符 位逻辑运算真值表 ~ 1 0 0 1 1/T 0/F 1/T 1/T 0/F 0/F 0/F 0/F | 1/T 0/F 1/T 1/T 1/T 0/F 1/T 0/F ^ 1/T 0/F 1/T 0/F 1/T 0/F 1/T 0/F * 2.4.13 位运算符 位逻辑运算举例 ~ (79)—————— (-80) (45) (79)—
文档评论(0)