zoukankan      html  css  js  c++  java
  • java二进制,原码、反码、补码、位运算

    1.二进制计数法的概念 
    人们在日常生活中和生产实践中,我们接触到越来越多的数字,创造了分组计数的制度.而我们的生活中,一般采用了"满十进一"的十进制计数法,
    我们现在已经熟悉并经常运用这一种计数法了.但也有采用其他计数法.如二进制,六进制,十六进制等计数法.现在就来讲一讲"二进制"和"十进制"的关系 2.十进制和二进制数的互化 (1)化十进制数为二进制数 <1>比较小的十进制数为二进制数可以用观察法. 例:化45为二进制数 因为2的0次方,1次方,2次方~~~10次方分别等于1,2,4,8,16,32,64,128,256,512,1024. 所以 45=32+8+4+1=2⑤+2③+2②+1=1*2⑤+0*2④+1*2②+0*2①+1*1=101101(二进制) <2>一般化法 利用短除法(通常叫做"二除取余法") (2)化二进制数为十进制数 这是比较方便的,只需把二进制是写成展开式;计算即得.

    3对于有符号的数
    二进制的最高位时符号位:0表示正数,1表示负数
    正数的原码,反码,补码都一样
    负数的反码=它的原码符号位不变,其它位取反
    负数的补码=它的反码+1
    0的反码,补码都是0
    java中的数都是有符号的

    在计算机运算的时候,都是以补码的方式来运算的。

    java中有4中位运算,分别是按位与&,按位或|,按位异或^,按位取反。
    &:两位全为1,结果为1
    |:两位有一个为1,结果为1
    ^:两位有一个为1,一个为0,结果为1
    取反:0取反位1,1取反位0

    java中有3个移位运算符
    >> 算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
    <<算术左移:符号位不变,低位补0
    >>>逻辑右移:低位溢出,高位补0
  • 相关阅读:
    WPF开发进阶
    WPF开发进阶
    java 架构好文章
    Logback 输出 JPA SQL日志 到文件
    Linux Bash Shell j简单入门
    java内存空间简述
    PowerDesigner 16.5 反向PostgreSQL9.01 中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 解决方法
    Java代码自动部署
    Oracle优化技巧
    string类型与ASCII byte[]转换
  • 原文地址:https://www.cnblogs.com/zhxhdean/p/2004431.html
Copyright © 2011-2022 走看看