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. idea 创建的spingmvc 引入jquery后jquery函数始终不执行的原因

  2. Golang的方法传递值应该注意的地方

    其实最近看了不少Golang接口以及方法的阐述都有一个地方没说得特别明白.就是在Golang编译隐式转换传递给方法使用的时候,和调用函数时的区别. 我们都知道,在我们为一个类型变量申明了一个方法的时候 ...

  3. python学习笔记(9)--函数

    函数定义: def <函数名>(<参数(0个或多个)>): 函数体 return <返回值> 参数有非可选参数,和可选参数,可选参数放在参数列表的最后,可以为可选参 ...

  4. C#中那些常用的工具类(Utility Class)(一)

    代码越写越多,但是我们也需要经常去反思那些写过的代码,Utility Class就是这一类需要特别去反思总结的类,这些类像工具一样,我们经常通过一些静态方法,通过传入一些参数,然后得到我们需要的结果, ...

  5. 莫烦scikit-learn学习自修第四天【内置训练数据集】

    1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from sklearn import datasets from sklearn.linea ...

  6. 老男孩python学习自修第十三天【md5加密】

    示例代码如下: hashlib_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import hashlib def genPasswd(na ...

  7. How to mount HFS EFI on macOS

    mount_hfs /dev/disk0s1 /volumes/efi

  8. Vuex的API文档

    前面的话 本文将详细介绍Vuex的API文档 概述 import Vuex from 'vuex' const store = new Vuex.Store({ ...options }) [构造器选 ...

  9. python optparser模块

    python的内置模块中对于命令行的解析模块共两个getopt 和 optparse .不过getopt过于简单,往往不能满足需求.此时可以使用optparse模块.这个模块相对于getopt更新,功 ...

  10. 大学jsp实验5request,response

    1.request对象的使用 (1)编写一个包含有表单的JSP页面form.jsp,其中包含可以输入姓名和出生地的文本框,提交表单后在另一个页面中显示用户提交的姓名和出生地.请写出相应代码: form ...