博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件开发数据类型基础
阅读量:6532 次
发布时间:2019-06-24

本文共 1794 字,大约阅读时间需要 5 分钟。

  一个字节包含8位, 第一位是符号位, 8位就可以是代码27次方, 所以范围为-2^7 ~ 2^7 - 1, 即-128到+127;

  一个字节包含8位,八位转化为二进制位11111111,此时的值为FF,或者00000000,值为00; 其中十进制的0-127也就是十六进制的00-7E,代表了ascll的英文码表,就是说英文只要一个字节就能够表示清楚....

  各种数据类型:

    byte类型就是1个字节,能够代表的范围为-2^7 ~ 2^7 - 1;

    short类型为2个字节,能够代表的范围为-2^16 ~ 2^16 - 1;

    int类型为4个字节,能够代表的范围为-2^31 ~ 2^31 - 1;

    long类型为8个字节,能够代表的范围为-2^64 ~ 2^64 - 1;

    flaot的类型也为4字节, 但是它的范围比int大得多(:位符号位+8位指数(q)+23位底数(b),其解释出来的形式是:b^q,由于指数q是8位有符号整数,范围是-128 ~ 127,23位的底数(无符号)最大值就是2 ^ 23,算上指数的话,最大可以表达到2 ^ 23 ^ 127,但是由于计算机的运算能力限制,并不能处理到如此大的数,但是其取值范围也会比32位整数大很多。 由于float类型是一个幂计算式,所以很多时候并不能表达一个精确值,例如0.1,如果使用float在内存中会被表示为0.10000000000000001,如果进行反复计算将会导致非常大的误);

    double类型也为8个字节;

  移位运算, 有符号左移"<<":

public class Test {    public static void main(String args[]) {
System.out.println( 10<<1 ); //相当于: 10*2 System.out.println( 10<<2 ); //相当于:10*2^2 System.out.println( 10<<3 ); //相当于:10*2^3 System.out.println( 10<<4 ); //相当于:10*2^4 }} //输出:

  20

  40
  80
  160

  

作者:

出处:

  有符号右移动">>":

public class Test {    public static void main(String args[]) {        int num = 160;        System.out.println( num>>1 );        System.out.println( num>>2 );        System.out.println( num>>3 );        System.out.println( num>>4 );    }} //输出:80402010

   >>>:无符号右移,忽略符号位,空位都以0补齐;

   无符号右移有个特性必须记住,因为在二进制中:负数的值正数的取反+1 ,当我们对一个负数进行无符号右移, 那么无符号右移的值将会非常大:

public class Test {    public static void main(String args[]) {        int num = -1;        System.out.println( num>>>1 );    }} //输出:2147483647

 

  ~:按位取反;

  &:按位且;

  |:按位或;

  ^:按位异或;

  但是这些玩意儿有什么用呢, 参考如下的js代码, :

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]

  会输出:"sb"

 

  或者这样装逼...

((""[~+[]]++)+"")[(+[])]+(!+[]+{})[(~((~+[]+~+[])<<(-(~+[]))))]

  会输出:"Ne"

 

  进制之间的转化参考, :

  10进制到2进制:

  

      

  2进制到10进制:

      

 

  

作者:

出处:

转载地址:http://xpqbo.baihongyu.com/

你可能感兴趣的文章
session_start()放置位置的不正确引发的ROOT常量 未定义的错误
查看>>
如何设定VDP同时备份的任务数?
查看>>
ipsec的***在企业网中的经典应用
查看>>
过来人谈《去360还是留在百度?》
查看>>
mysql备份工具innobackupex,xtrabackup-2.1安装,参数详解
查看>>
【复制】slave筛选复制之二(create/drop table语句)
查看>>
Movie Store OpenCart 自适应主题模板 ABC-0249
查看>>
mytop-MySQL监控工具
查看>>
RedHat linux YUM本地制作源
查看>>
apache端口占用问题
查看>>
本地Office Project计划表同步到SharePoint2013任务列表的权限问题
查看>>
Windows2008 R2 GAC权限问题
查看>>
洛谷——P1469 找筷子
查看>>
几句话就能让你明白:网络地址转换(NAT)
查看>>
springboot项目自定义注解实现的多数据源切换
查看>>
特此说明
查看>>
使用flume替代原有的scribe服务
查看>>
用脚本来定制ESXI安装镜像
查看>>
微软企业级加解密解决方案MBAM架构
查看>>
没有苦劳,只有功劳!
查看>>