比如 11>>2和-7 >> 2结果分别是多少,今天我根据自己理解讲一下

在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,编译器未做任何优化的情况下,规定实际移动 的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是 移动66次和移动2次得到的结果相同

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。

11是正整数计算除二取余,然后倒序排列,高位补零  短除法得出1011

-7是负整数先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一

7转成二进制    00000111    取反  -7转二进制    11111000   加1    11111001

然而整数型有4个字节长度而一个字节长度是8位,故32位补全 正整数高位补0,负整数补1 如下结果转换用相加法

11(0000 0000 0000 0000 0000 0000 00001011) 把低位的最后两个数字移出0000 0000 0000 0000 0000 0000 0000 0010 结果为十进制2.

-7(1111 1111 1111 1111 1111 1111 11111001)右移两位,因为是负数,所以空位由1补充1111 1111 1111 1111 1111 1111 11111110 转换为十进制是-2

java基本数据类型就8种,记住就好了。除了这些都是引用型的了。   

java四类八种基本数据类型  

第一类:整型 byte short int long

第二类:浮点型 float double

第三类:逻辑型 boolean(它只有两个值可取true false)  

第四类:字符型 char

在栈中可以直接分配内存的数据是基本数据类型。  

引用数据类型:是数据的引用在栈中,但是他的对象在堆中。  

要想学好Java必须知道各种数据的在内存中存储位置。  对内存有了很好的了解,可以有助你分析程序。     

字节: 

类型                        占用存储空间                                             

byte 字节类型               1

char 字符型                 2  一个字符能存储一个中文汉字(unicode双字节编码)         

short 短整型                2

int 整数类型                4

float 浮点类型(单精度)    4

long 长整形                 8

double 双精度类型(双精度) 8

boolean 布尔型              1/8 (boolean可1个可8个统称)

java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L;

 默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。     

 一个字节等于8位,一个字节等于256个数,就是-128127一共256。 

位运算符详解:https://baike.baidu.com/item/移位运算符/5622348?fromtitle=位移运算符&fromid=15456331&fr=aladdin

二进制十进制转换详解:https://www.cnblogs.com/web-record/p/11132861.html

二进制,十进制,位移运算符相关推荐

  1. ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​

    说明 所有的位运算符操作的都是二进制,而不是我们日常生活中常用的十进制. 在系统中,一个字节占8位. 按位与运算符(&) 参加运算的两个数据,按二进制位进行"与"运算. 运 ...

  2. Java培训教程:Java中的位移运算符!

    学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过系统学习学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累. 今天小千给大家分享的 ...

  3. 位移运算符(7个)之第一个: 左移

    // 位移运算符(7个)之第一个:  <<左移:移动N位就是乘以2的移动数次幂 附: 二进制转十进制:8421原则(128     64    32    24    16    8    ...

  4. Java中的位移运算符

    移位运算符就是在二进制的基础上对数字进行平移.         我们知道,Java中byte.short和char类型在进行计算时都是先将其转换为int类型,同样在进行移位运算时也不例外.它们移位后的 ...

  5. day017:Java进制转换、原码反码补码、位运算、位移运算符

    一.进制介绍: 1.进制:指进位制,表示某一位置上的数,运算时是逢X进一. 十进制就是逢十进一,二进制就是逢二进一,八进制就是逢八进一. 2.Java中默认的数值都是十进制,如果要输入其他进制,在数值 ...

  6. c语言实现补码加减,C语言实现用位移运算符进行加减乘…

    最近,在百度知道上回答问题,然后看见有的人问如何用位移运算符去进行加减乘除运算,于是巩固今天就在这总结一下. 先讲讲总体思路: 加法运算:将一个整数用二进制表示,其加法运算就是:相异(^)时,本位为1 ...

  7. Java 中的位移运算符

    在源码中经常会看到一些位移运算符的使用,比如在看HashMap源码的时候,在计算hashMap容量的阈值的时候,就使用到了位移运算符,代码如下: java中有三种移位运算符 <<     ...

  8. 【Java】浅析Java位移运算符<<、>>、>>>

    <<.>>.>>>分别是什么 <<.>>.>>>都是Java里的位移运算符. <<表示算术左移,< ...

  9. 位移运算符 ( ShiftOperator )

    位移运算符 ( ShiftOperator ) 概述: 只适用于整数的数学运算,根据数制位的移动来进行数字翻倍运算的. 计算机的相邻数制位的关系是2倍关系 为什么使用位移运算? 运算速度比算数运算的翻 ...

最新文章

  1. CentOS 命令提示符颜色及样式详解
  2. 数据不平衡(class_weight、评估方法、上采样、下采样)、详解及实战
  3. 4分钟极速甩脂训练!抛开借口!繁忙族必备!
  4. c++ STL 容器——序列
  5. 【WP7进阶】——扩展框架组件
  6. 代码设定的按钮与storyboard中的xib页面间的跳转
  7. 推荐支持 azw3 、epub 和 mobi 格式的阅读器:FBReader
  8. 【DP算法篇之初学】LIS\LCS\二维DP\带条件DP
  9. mysql批量导出_mysql批量导出导入
  10. 配置管理工作职责思考
  11. MarkDownPad2实用教程及MarkDown常用语法
  12. 在线工具:电脑怎么提取图片中的文字?图片如何转化为文字?
  13. 解决Windows端口占用问题(port is already in use)
  14. eai java实现,月光软件站 - 编程文档 - Java - 建立EAI方式与SAI方式之间的通信
  15. 1nm晶体管诞生 秒杀当前14nm主流芯片制程
  16. 用matlab怎么画出y=sin(t)的导函数图像?用diff为什么一阶导函数会缩小100倍,二阶导函数会缩小1000倍。求大神指教
  17. win10/win11家庭版解压缩时,出现错误代码0x80004005的解决办法
  18. AWVS_扫描报告分析
  19. 安卓系统解锁adb remount
  20. Android Studio 上传代码到Gitee

热门文章

  1. 三星折叠手机出现故障显示该项技术尚未足够成熟
  2. 宜人贷财报高质量增长背后:本心与精进并行
  3. android 蓝牙触控笔,【转】Android-Input 触控笔
  4. 打印设置(4)- 添加页眉
  5. UUID 和 GUID 的区别
  6. 串口屏和段码屏的区别?
  7. CSP和PKCS#11的关系
  8. 【计算机毕业设计】基于微信小程序的高校毕业论文选题管理系统
  9. GNSS定位模块串口配置说明,亲测(使用ATGM332D模块,通用)
  10. 《有限元分析基础教程》(曾攀)笔记二-梁单元方程推导(二):简支梁挠曲线近似解...