java的基本数据类型有(int、byte、double、float、char、boolean、long、short);这里介绍整型数据

示例1:

public class H_Z01 {

  public static void main(String[] args) {
    int b = 350;
    byte a = (byte) 350 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  }

}

输出为:

94
101011110

发生了截取,将前面的代码更新为:

public class H_Z01 {

  public static void main(String[] args) {
    int b = 350;
    byte a = (byte) 350 ;
    System.out.println(a);
    System.out.println(Integer.toBinaryString(b));
    System.out.println(Integer.valueOf("01011110",2).toString()) ;
  }

}

输出为:

94
101011110
94

一开始为从左为有移到使用的数据类型的位数。

例如:

350---->101011110

截取成为byte成为 01011110

但是看下面的示例自己就蒙了

示例2

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  }

}

输出为:

-62
111000010

按照更新代码后:

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  System.out.println(Integer.valueOf("11000010",2).toString()) ;

  }

}

输出为:

-62
111000010
66

认为第一位为符号为那么为11000010,那么应该取数值为0100010为66,那么1100010为-66

结果依然不正确。

查取资料获得技能:

除符号位取补码

先截取为11000010

那么为10111110

在进行计算:

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  System.out.println(Integer.valueOf("00111110",2).toString()) ;

  }

}

运行结果为:

-62
111000010
62

添加符号位:-62

与运行结果相同

总结:

java中整数溢出是取补

java基本数据类型转换溢出问题的更多相关文章

  1. Java基本数据类型转换及运算符

    上次我们说到完了Java中的基本数据类型,今天我们来说说Java中的基本数据类型转换和Java中的运算符 基本数据类型转换 java中可以从任意基本数据类型转型到外的基本数据类型 注意:(boolea ...

  2. Java基本数据类型转换

    一:Java的基本数据类型和引用数据类型 1:基本数据类型 2:引用数据类型 二:基本数据的类型转换 基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型 ...

  3. JAVA基本数据类型转换的注意事项

    JAVA中基本数据类型: 类型: 字节: 范围: 默认值: byte 1 -128~127 0 short 2 -32768~32767 0 char 2 0~65535 '\u0000' int 4 ...

  4. java基本数据类型转换成byte[]数组

    import java.io.UnsupportedEncodingException;  public class ConToByte {      /**     * double转换byte   ...

  5. java基本数据类型转换之向上转型和向下转换

    向上转换: 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型可自动转换为容量大的数据类型: byte,short,char → int → long → float ...

  6. Java 基本数据类型转换

    1. Integer/int  转 String Integer a = 1; (int a = 1) String b = Integer.toString(a); 2. float 转 Strin ...

  7. Java基本数据类型转换二

    public class TestConvert2 { /** * @param args */ public static void main(String[] args) { // TODO Au ...

  8. Java基本数据类型转换一

    public class TestConvert { /**容量小的类型自动转化为容量大的类型数据类型按容量大小排列 * byte,short,char -> int ->long-> ...

  9. java基本数据类型转换字符串

    1.基本数据类型转换为字符串 int t1 = 2; String t2 = Integer.toString(t1); 2.字符串转换为基本数据类型 int t3 = Integer.parseIn ...

随机推荐

  1. 【转】MySQL sql_mode 说明(及处理一起 sql_mode 引发的问题)

    1. MySQL 莫名变成了 Strict SQL Mode 最近测试组那边反应数据库部分写入失败,app层提示是插入成功,但表里面里面没有产生数据,而两个写入操作的另外一个表有数据.因为 inser ...

  2. SpringBoot Junit Maven JaCoCo

    写一下最近写单体测试的一些笔记. SrpingBoot的测试用例: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ...

  3. qtp 自动化测试--点滴 自定义显示工具菜单 trzedit

    tools-customize-toolbars-勾选后关闭 2 trzedit 使用winobject 方法取值 Window("驷惠WIN系列[汽车4S连锁管理软件] 6.") ...

  4. delphi 子窗体只能最小化不能关闭的解决方案

    cnpack下载地址:http://www.cnpack.org/showdetail.php?id=726&lang=zh-cn 时候创建的子窗体不能关闭,点关闭按钮时子窗体最小化了. 出现 ...

  5. Lodop打印控件不打印css背景图怎么办

    background:url()这是css背景图,http协议会按异步方式下载背景图,所以很容易等不到下载完毕就开始打印了,故lodop不打印css背景图.Lodop不打印css背景图,但是有其他方法 ...

  6. Lodop打印项对象类型属性区分

    Lodop提供了一些打印项类型,默认是普通项,通过设置打印对象的类型,可以实现一些普通项不能实现的效果.例如:该博客另一篇博文 标题是Lodop打印控件 打印‘接下一页’‘以下空白’,就用了眉脚项. ...

  7. linux寻找依赖文件

    在linux下编译安装软件有时候会遇到依赖文件找不到的情况,很多时候可以通过 sudo apt install -f 来解决:实在找不到怎么办,还有一个绝招可以用: 安装  apt-file sudo ...

  8. Intel HD Graphics 620 (华硕FL5900U) Windows7下安装显卡驱动

    我们的牙膏大厂Intel,不但会挤牙膏,现在连驱动也不给你用了.KabyLake也就是第七代酷睿处理器,集成了Intel HD Graphics 620核显,核显(显卡)驱动程序只支持到Win10这一 ...

  9. BZOJ3239Discrete Logging——BSGS

    题目大意:给出$P,B,N$,求最小的正整数$L$,使$B^L\equiv N(mod\ P)$. $BSGS$模板题. #include<set> #include<map> ...

  10. 微信小程序——安装开发工具和环境【二】

    准备 开发工具下载 获取APPID 安装工具 安装 接受协议 选择安装位置 等待安装完成 安装完成 选择项目 选择小程序 填写信息 确定 无误后,点击确定进入开发页面 建立普通快速启动模板界面