java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)

简介:   public class txs {static void leftbit(){int i;               //整型长度为32位                                                                                          //位int num=0xFFFFFFE;  //1111



 
public class txs {



static void leftbit(){
int i;               //整型长度为32位                                                                                          //位
int num=0xFFFFFFE;  //1111 1111 1111 1111 1111 1111 1110      //28
for(i=0;i<28;i++){
//循环一次向左移动一位,丢弃最高位,0补最低位
num=num<<1;    //1111 1111 1111 1111 1111 1111 1110 0     //29
               //1111 1111 1111 1111 1111 1111 1110 00    //30
               //1111 1111 1111 1111 1111 1111 1110 000   //31
               //1111 1111 1111 1111 1111 1111 1110 0000  //-32
               //1111 1111 1111 1111 1111 1111 1100 0000  //-64
               
System.out.println(num);
}
}

static void rightbit(){
int i;               //整型长度为32位                                                                                          //位
int num=0xFFFFFFE;  //1111 1111 1111 1111 1111 1111 1110      //28
for(i=0;i<4;i++){
//循环一次向右移动一位     符号位不变,左边补上符号位
num=num >> 1;  //1111 1111 1111 1111 1111 1111 111        //27
               //1111 1111 1111 1111 1111 1111 11         //26
               //1111 1111 1111 1111 1111 1111 1          //25
               //1111 1111 1111 1111 1111 1111            //24
               
System.out.println(num);
}
}

//无符号右移
//
static void unregist_rightbit(){
int i;               //整型长度为32位                                                                                          //位
int num=0xFFFFFFE;  //1111 1111 1111 1111 1111 1111 1110      //28
for(i=0;i<4;i++){
//循环一次向右移动一位      忽略符号位扩展,0补最高位
num=num >>> 28;  //1111 1111 1111 1111 1111 1111 111        //27
               //1111 1111 1111 1111 1111 1111 11         //26
               //1111 1111 1111 1111 1111 1111 1          //25
               //1111 1111 1111 1111 1111 1111            //24
               
System.out.println(num);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//leftbit();      
rightbit();
System.out.println("================");
unregist_rightbit();
}


}
目录
相关文章
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
78 1
|
1月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
42 0
|
2月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
59 7
|
2月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
84 3
|
2月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28 1
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
284 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
164 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
85 1
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
64 4