精华内容
下载资源
问答
  • 主要讲解Java中基本数据类型,java long 类型与其java int类型的转换的几种方法,希望能给大家做一个参考
  • int num=(int)9876543211%10; 此时 num=9,而我们想要的结果是num=1; 解决方法是在强制转换时都添加括号:(int)(9876543211%10) 此时结果num=1

    int num=(int)9876543211%10;

    此时 num=9,而我们想要的结果是num=1;

    解决方法是在强制转换时都添加括号:(int)(9876543211%10)

    此时结果num=1


    展开全文
  • javalong转int的原理

    千次阅读 2018-03-18 21:09:06
    long转为int需要强转都很熟悉,那么介绍一下强转的具体原理。首先在计算机中,计算加法减法是用补码计算的。正数的补码为其二进制表示。负数的补码为其模的二进制表示取反加一。加入为八位二进制加法,如:+3+(-5) ...

    long转为int需要强转都很熟悉,那么介绍一下强转的具体原理。

    首先在计算机中,计算加法减法是用补码计算的。

    正数的补码为其二进制表示。负数的补码为其模的二进制表示取反加一。

    加入为八位二进制加法,如:+3+(-5) 

    +3的补码为00000011

    -5的模为+5,二进制表示为00000101,取反为11111010,加一后为11111011,所以-5的补码为11111011


    加法计算公式为:两个数的补码相加,如果是正,则直接输出,如果是负,则除符号位以外取反加一

    +3和-5的补码之和为11111110,为负数,去掉符号位第一位 1 ,剩下1111110,取反加一后为10

    10为十进制中的2,所以带上符号位为-2。


    众所周知,java中long为8字节64位,int为4字节32位。

    java如果long强转为int,做的事为:直接取低位32位作为值,但是看做补码。


    代码如下:

    long  long= 37444124124l;

    System.out.println((int)long);

    输出值为-1210581540

    首先37444124124 转为二进制为

    100010110111110101111111110111011100


    后32位为:10110111110101111111110111011100

    这个后32位直接当做计算结果输出:符号位为1,则是负数,负数取后31位取反加一

    1001000001010000000001000100100

    为:1210581540

    加上符号位为-1210581540



    展开全文
  • 今天项目中突然要改一个字段的类型,int改成Long类型的,,,我自己随便测试的时候,转换出来的值变成了负数,觉得很奇怪,于是研究了一下,测试结果如下: ...

    今天项目中突然要改一个字段的类型,int改成Long类型的,,,我自己随便测试的时候,转换出来的值变成了负数,觉得很奇怪,于是研究了一下,测试结果如下:

    展开全文
  • Javalongint互相转换,不改变原有数据 文章目录Javalongint互相转换,不改变原有数据测试方法,及封装好的方法封装好之后的方法 测试方法,及封装好的方法 ... // long转int数组 int pre, suffix; pre =...

    Java中long和int互相转换,不改变原有数据

    测试方法,及封装好的方法

    @Test
    public void testLong2Int() {
    long tmpLong = 3412567892L;

        // long转int数组
        int pre, suffix;
        pre = (int) ((tmpLong >> 16) & 0xffff);       //取高字节
        suffix = (int) (tmpLong & 0xffff);          //取低字节
        System.out.println(pre);
        System.out.println(suffix);
    
        // int转long
        long m2 = (((long) pre) << 16) | suffix;
        System.out.println(m2);
    }
    

    封装好之后的方法

    /**
         * 传入一个long数据,返回一个int数组
         * 高位在前,低位在后
         *
         * @param tmpLong long数据
         * @return int数组
         */
        public static int[] long2IntArr(long tmpLong) {
            int pre, suffix;
    //        pre = (int) ((tmpLong >> 16) & 0xffff);       //取高字节
    //        suffix = (int) (tmpLong & 0xffff);          //取低字节
            pre = (int) ((tmpLong >> 32) & 0xffffffffL);       //取高字节
            suffix = (int) (tmpLong);          //取低字节
            return new int[]{pre, suffix};
        }
    
        /**
         * 传入2个int数据,返回一个long数值
         *
         * @param pre    高位
         * @param suffix 低位
         * @return long数据
         */
        public static long int2Long(Integer pre, Integer suffix) {
            long m2 = 0;
            if (Integer.toBinaryString(pre).length() >= 32) {
                m2 = ((pre.longValue()) << 32) | suffix;
            } else {
                String s = Integer.toBinaryString(pre) + getZero(32 - Integer.toBinaryString(suffix).length())
                        + Integer.toBinaryString(suffix);
                m2 = Long.parseLong(s, 2);
            }
    
            return m2;
        }
    
        public static String getZero(int length) {
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < length; i++) {
                stringBuilder.append("0");
            }
            return stringBuilder.toString();
        }
    
    展开全文
  • JAVALong类型转换为int类型

    千次阅读 2019-07-12 12:55:01
    int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参考: 一、强制类型转换 [java] long ll = 300000; int ii =...
  • int转long:向上转换,可直接进行隐形转换 int a = 10; long b = (int)a; int a = 10; Long b = a.longValue(); long转int:向下转换(容量大的数据类型转为容量小),可能会出现数据溢出情况 long a = 10; ...
  • javalong类型转换为int类型

    千次阅读 2019-05-15 13:50:42
    int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法: 一、强制类型转换 long ll = 300000; int ii = (int)ll; 二...
  • // 1、将long型转化为int型,其中intlong是基础类型 long a = 10; int b = (int) a; System.out.println("1、将long型转化为int型:" + b); // 2、将int型转化为long型,其中intlong都是...
  • javalong类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参考: 一、强制类型转换 ...
  • 我就废话不多说了,大家还是直接看代码吧~ ...// 1、将long型转化为int型,其中intlong是基础类型 long a = 10; int b = (int) a; System.out.println("1、将long型转化为int型:" + b); // 2、将i...
  • 由于功能需要,需要传4字节的整数,但数据库里的值是long类型,所以只好把long转为int了,这个比较简单,直接强转: long d = 2215051265L; int i = (int) d; System.out.println(i); 但这样打印出来的值是负数...
  • long.intvalue 长类intValue()方法 (Long class intValue() method) intValue() method is available in java.lang package. intValue()方法在java.lang包中可用。 intValue() method is used to return the value ...
  • javaint转long

    万次阅读 2019-05-31 22:00:50
    int id=(int) liangliang1.get("id"); Long dd=Long.valueOf(id);
  • java long转换为int 类型 注意事项

    千次阅读 2015-12-22 16:24:58
    public static int subDateFmtStr(String start, String end) { if (start == null || end == null) { return 0; } Date starttime = parseYMDHHmmssString(start); Date endtime = parseYMDHHmmssString
  • javalong类型转为int类型的几种方法

    千次阅读 2017-02-09 21:06:48
    1 通过基本类型强制转为,因Java的基本类型之间可以相互强转 2 可以toString()方法先转为字符串,然后再用Integer.parseInt转为int类型 Long l = new Long(33); String s = l.toString(); int i = Integer....
  • javaint转long

    千次阅读 2020-01-12 23:51:04
    package pid69;... public static int mySqrt(int x){ int result = 0; if(x==0 || x==1){ return x; }else{ for(int i=0;i<=x/2;i++){ int a = i*i; //防止溢出,务必注意右边需...
  • Java 时间 long转int问题

    千次阅读 2018-12-24 14:10:09
    需要将多个时间对比,在dateint型的时候,有时会出现负数,因为毫秒级时间的long长度超出了int的长度范围。比如:   最简单的解决方法、除1000 return date.getTime()/1000;  ...
  • 但算法思路和实现过程万无一失,经过仔细排查,终于发现了一个一直以来都被忽视掉的Java基本数据向上转型溢出问题。 话不多说,直接上代码: public class Int2LongOverflow { public static void main(String[] ...
  • Java中,有三种方法可以将float转换为longint,但我们只关注long数据类型部分。 将float数据类型转换为long值的第一种方法是将auto-box float原语转换为float对象并调用longValue()方法。 这是一种更结构化的...
  • java float转换int

    千次阅读 2019-09-12 11:52:18
    1.Java的简单类型及其封装器类⑴Java简单类型与封装类我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了对这些非面向对象的简单...
  • java基本类型转换--精度丢失问题

    千次阅读 2019-06-04 15:01:04
    先上一个整体转换图 如图所示,其中实线byte→short、short→int...而虚线int转float、long转float,long转double都会发生精度丢失。精度丢失包括两种,一是有效数字丢失,一是目标类型完全无法表示数据 原因如下:...
  • Go语言int64javalong

    千次阅读 2019-06-27 20:27:24
    最近在和后台对一个接口,后台使用go语言编写的,给我返回一个int64类型的时间,表示java从来没有int64这一说,所以去百度了,然后只能自己了,一般的返回int64的话java建议使用long类型进行接收 比如后台返回一...
  • Java int 类型过大变成负数

    千次阅读 2018-11-27 19:40:26
    int类型的数字,如果太大的话,这个正数,就会变成负数。 然后Java代码测试一下。 然后就如上测试那般,这个1一直+++++,到最后真的就变成负数啦。...
  • java 基本类型 int long 相加

    万次阅读 2019-08-09 18:18:36
    int + long直接相加会报错。 但是 num+= 2L ,是不会报错的。 int有最大长度 最小值是-2,147,483,648(-2^31); 最大值是2,147,483,647(2^31 - 1) 当 int num=2147483647; num +=2l; 此时 num会溢出,其...
  • longLong)与int(Integer)之间的转换

    万次阅读 多人点赞 2019-04-09 10:11:57
    1.将long型转化为int型,这里的long型是基础类型: long a = 10; int b = (int)a; 2.将Long型转换为int 型的,这里的Long型是包装类型: Long a = 10; int b=a.intValue(); 3.将Long型转换为 Integer 型的,这里的...
  • Java关于long型和int型整数相加的问题

    千次阅读 2020-07-03 15:29:50
    当两个int型相加超出int范围时,即使接受的参数是long型也会造成精度损失,原因是: 两个int型相加是会先转换成int型然后再赋值,所以再相加前要先转换成long型。 示例: int m = 2147483647; //输出-2147483648...
  • Java中如何将int 类型转换为 Long类型

    万次阅读 2018-10-17 16:54:17
    版权声明:本文由施勇原创,转载请注明作者和...很多同学可能会用上面的方法将int类型转换为Long类型,但事实上这样是不可行的。因为Long是包装类,而int是值类型数据,两者是不能这样强转的。 long l = (long)3;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 957,282
精华内容 382,912
关键字:

java的long转int

java 订阅