用Java二进制运算、位移运算、逻辑运算

news/2024/11/8 9:05:22/

一、对于有符号数据
有符号数:首位(最高位)数字(1表示负数,0表示正数)
源码
反码
补码

正数:源码,反码,补码都相同
零:源码,反码,补码都是0
负数:
    源码:
    反码:=源码符号位不边,其他位取反 (0->1,1->0)
    补码:反码+1

计算机运行时,都是以补码的方式运算的
二、关系运算符
>,<,
>=,<=,
==,!=
判断的结果为Boolean类型
三、逻辑运算符,以及位移运算

与&、或|、异或^、取反~

下面是用Java写的代码

package com.demo;import java.sql.SQLOutput;/*** 位移运算 右移给最高位加0,然后删除最右边多余的0* 位移运算 左移给最高位减0,然后给最右边空出的位置补0*/
public class CalculationTest {public static void main(String[] args) {
//        System.out.println(32>>1);//右移1位相当32缩小2的1次方倍
//        System.out.println(32>>2);//右移2位相当32缩小2的2次方倍
//        System.out.println(32<<1);//左移1位相当32的扩大1次方倍
//        System.out.println(32<<2);//左移2位相当32的扩大2次方倍ConvertBinary(3);and(5, 12);//逻辑位与运算  1&1=1,1&0=0,0&0=0,同为1才是1or(5, 12);//逻辑位或运算  1|1=1,1|0=1,0|0=0,有1就为1,同时为0才是0xor(7, 11);//逻辑位异或运算 1^1=0,1^0=1,0^1=1,0^0=0 同为0,异为1}/*** Convert any number to binary*/public static void ConvertBinary(int anyNum) {System.out.println("十进制数字" + anyNum + "换算成二进制:" + Integer.toBinaryString(anyNum));System.out.println("把" + anyNum + "右移1位得到十进制:" + (anyNum >> 1) + "二进制结果:" + Integer.toBinaryString(anyNum >> 1));System.out.println("把" + anyNum + "左移1位得到十进制:" + (anyNum << 1) + "二进制结果:" + Integer.toBinaryString(anyNum << 1));}public static void and(int firtNum, int secondNum) {int a = firtNum;System.out.println(a + "二进制结果:" + Integer.toBinaryString(a));int b = secondNum;System.out.println(b + "二进制结果:" + Integer.toBinaryString(b));int c = a & b;System.out.println(a + "&" + b + "=" + c + "再转成二进制结果为:" + Integer.toBinaryString(c));}public static void or(int firtNum, int secondNum) {int a = firtNum;System.out.println(a + "二进制结果:" + Integer.toBinaryString(a));int b = secondNum;System.out.println(b + "二进制结果:" + Integer.toBinaryString(b));int c = a | b;System.out.println(a + "|" + b + "=" + c + "再转成二进制结果为:" + Integer.toBinaryString(c));}public static void xor(int firtNum, int secondNum) {int a = firtNum;System.out.println(a + "二进制结果:" + Integer.toBinaryString(a));int b = secondNum;System.out.println(b + "二进制结果:" + Integer.toBinaryString(b));int c = a ^ b;System.out.println(a + "^" + b + "=" + c + "再转成二进制结果为:" + Integer.toBinaryString(c));}
}


http://www.ppmy.cn/news/673973.html

相关文章

银行卡预留号码注销了怎么改?

需要去银行网点修改&#xff08;银行上班时间&#xff09;&#xff0c;带上身份证、银行卡和手机&#xff0c;需要注意的是当前银行卡预留号码&#xff0c;必须是本人在用的&#xff0c;不能绑定他人的手机号码。 银行上班时间&#xff1a;周一至周五上午9&#xff1a;00-下午…

ubuntu注销用户

sudo pkill Xorg 删除搜狗拼音 https://www.cnblogs.com/exmyth/p/4066016.html

Linux系统的注销与关闭

注销 字符界面下输入 logout或exit命令。 关闭系统 对于应用于一个多用户多任务状态下的网络服务器来说&#xff0c;除了某些特殊原因&#xff0c;一般情况下系统很少关闭系统&#xff0c;关闭系统时需要注意&#xff1a; 查看系统使用状态通知在线用户关机的时刻使用正确的…

个人公众号注销方法_微信公众号怎么注销,注销方法

【导读】2017年微信公众号怎么注销&#xff1f;注销方法有哪些&#xff1f;根据最新消息&#xff0c;2017年4月12日起&#xff0c;微信公众号可以自主注销&#xff0c;用户在核实身份信息或者验证帐号主体后&#xff0c;可以在公众号后台-“公众号设置”-“原始ID”中&#xff…

工信部推出号码“一键解绑”功能:淘宝、微博手机号可一次性解绑

点击上方“码农突围”&#xff0c;马上关注 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看” 近日&#xff0c;据Tech星球报道&#xff0c;工信部旗下的中国信息通信研究院推出“一键解绑”功能&…

联通炫铃注销

大家都希望别人拨打自己手机的时候可以听到简洁的嘟嘟声&#xff0c;而不是万年不变的炫铃&#xff0c;其实炫铃早已过时了&#xff0c;更换还要money 可是每次换套餐或者办新卡都会默认开通炫铃&#xff0c;真讨厌啊&#xff0c;ZHOU_VIP在这里教大家一个方法&#xff1a; …

如何查已经欠费的联通手机号码

朋友办了一张联通手机卡&#xff0c;但是由于一些原因不再继续使用了&#xff0c;后来又想用了&#xff0c;发现欠费了&#xff0c;通过打 10010 知道欠了4块多&#xff0c;想着也欠的不多&#xff0c;充一下话费继续用。于是想着用支付宝、微信等给给手机充话费继续用。但是忽…

关于联通手机营业厅中的在线销户,大家有什么想说的?

联通在个人用户的在线销户这块&#xff0c;的确是做的最好的&#xff0c;也是最早的上线了这个功能的运营商。 中国联通是最早的上线了在线销户的运营商。 以前用户吐槽最多的地方&#xff0c;就是在手机卡的异地销户这块。因为不少人使用的是外地的手机卡&#xff0c;而很显…