java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
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();
}
}
java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)的更多相关文章
- 分析轮子(二)- << ,>>,>> (左移、右移、无符号右移)
前言:写 分析轮子(一)-ArrayList.java 的时候看到源码中有 int newCapacity = oldCapacity + (oldCapacity >> 1); 这样的代 ...
- 计算机原码、补码、反码与java移位运算符(<</>>/>>>)
一.机器值和真值 1.机器值 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机 ...
- java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规 ...
- java移位运算符具体解释
java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的全部位都左移 ...
- java移位运算符详解
http://soft.chinabyte.com/database/195/11553695.shtml java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和 ...
- java 移位运算符
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- Java移位运算符详解实例
移位运算符它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处 ...
- [JAVA]移位运算(左移<<,右移>>和无符号右移>>>)
一.背景知识 整数在内存中是以二进制的形式存在的,而且存的是该整数的补码.最高位代表符号位,正数为0,负数为1 正数的补码是其二进制本身,负数的补码则是 符号位保持1不变,其他位按位取反再加1,+0和 ...
- java的<<左移,>>右移,>>>无符号右移
>>右移 右移,道在二进制中,假设用一个32位的Int表示一个64,那么高位就都是0,所以当我们把整个二进制数右移,如0100000 >> 2 = 0001000,可以看到右移 ...
随机推荐
- UIWebView与js那些事
UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容.其中就要用到javascript的知识,而UIWebView与javascript交互的 ...
- html5新增的定时器requestAnimationFrame
在requestAnimationFrame出现之前,我们一般都用setTimeout和setInterval,那么html5为什么新增一个requestAnimationFrame,他的出现是为了解 ...
- 秋招复习-C++(三)
• 数据库 1.数据库的索引有哪些? (1)B树索引:利用B树作为底层数据结构的索引,在B树索引中保存索引列的值和数据表的对应行的ID,每一个叶子结点都存放着一个索引列的值和数据表对应行的ID,通过这 ...
- [LOJ] 分块九题 6
单点插入,单点查询. 优化了的链表. 链表老写错,干脆用vector,也不算慢. 注意链表退化的问题,及时(比如操作根号n次)就重新建块,实测速度可以提高一倍,这还是数据随机的情况,若涉及大量同一位置 ...
- selenium——操作滚动条
在自动化测试的过程中,难免会应用到翻页键,但是webdriver提供的方法都是操作当前页面可见的元素,对于未在当前范围展示的翻页键,该如何操作呢? 小编在这里介绍一种方法:使用JavaScript操作 ...
- LeetCode(11) Container With Most Water
题目 Given n non-negative integers a1, a2, -, an, where each represents a point at coordinate (i, ai). ...
- 为什么在属性中设置private set
引言: 属性的引入来自C#的封装机制,也就是说对象的内部数据不应该由对象实例来直接访问,我们可以使用传统的Get和Set方法,来封装字段,C#为我们提供了语法糖,也就是属性.属性包括get和set,分 ...
- Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好 ...
- 使用 wsgiref 创建WSGI APP
wsgify装饰器将一个普通函数转变成WSGI应用程序. class webob.dec.wsgify(func=None, RequestClass=None, args=(), kwargs=No ...
- 使用cURL和用户名和密码?
问题描述 我想访问一个需要用户名/密码的URL.我想尝试用 curl 来访问它.现在我正在做一些事情: curl http://api.somesite.com/test/blah?something ...