Long型整数,缄默溢出
/**
- 长整数问题
- @author husky
/
public class LongDemo {
public static void main(String[] args) {
/*
* 问题3:长整数
/
//计算一天的微妙数
Long microsBefore = (long) (24606010001000);
//计算一天的毫秒数
Long millisBefore = (long) (2460601000);
//我们想要的结果是1000
//结果为5
System.out.println("before: " + microsBefore/millisBefore);
/**
* 解析:
* 计算毫秒数时因为在int的表示范围内,可以正确的表示。
* 但是,计算微秒数的时候采用的int进行的计算,然后才转型,对于超过int表示范围的结果,产生缄默溢出
* java支持自动的向上转型,但在享受这种便利的时候一定要注意缄默溢出的情况。
*/
System.out.println("microsBefore: " + microsBefore);
System.out.println("millisBefore: " + millisBefore);
/**
* 解决:
* 在使用长整数的时候,进行类型上面的转型的情况的时候在第一个操作数后面显示的标明为long型
* eg: Long microsBefore = (long) (24L*60*60*1000*1000);
* 即使可能表示的结果是正确的情况下,显示的标明也是一种好的习惯
*/
//计算一天的微妙数
Long microsAfter = (long) (24L*60*60*1000*1000);
//计算一天的毫秒数
Long millisAfter = (long) (24L*60*60*1000);
//我们想要的结果是1000
//结果为5
System.out.println("after: " + microsAfter/millisAfter);
System.out.println("microsAfter: " + microsAfter);
System.out.println("millisAfter: " + millisAfter);
}
}
Long型整数,缄默溢出的更多相关文章
- 基于 CPython 解释器,为你深度解析为什么Python中整型不会溢出
前言 本次分析基于 CPython 解释器,python3.x版本 在python2时代,整型有 int 类型和 long 长整型,长整型不存在溢出问题,即可以存放任意大小的整数.在python3后, ...
- java int整数相乘溢出
int整数相乘溢出 我们计算一天中的微秒数: * * * * ;// 正确结果应为:86400000000 System.out.println(microsPerDay);// 实际上为:50065 ...
- C中整数的溢出
/** * 整数的溢出 */ #include <stdio.h> int main(int argc, char *argv[]) { short i = -24; // 将-24以无符 ...
- 求一个int型整数的两种递减数之和(java)--2015华为机试题
题目描述: 给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的 ...
- 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子 ...
- java实现第六届蓝桥杯牌型整数
牌型整数 题目描述 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不 ...
- unsigned 整型实现无溢出运算
普通的 int 整型能表示的范围很有限,所以刷题时很多时候不得不用 long long 来存更大的数据.或者找出数列中某个只出现一次(或奇数次)的数(其余的数均出现两次 / 偶数次),用异或运算的经典 ...
- int型整数的数值范围
假设int型用两个字节表示对于有符号的整数,用补码表示的话,最高位是符号位,后面15位用来表示数据.1.正数,表示的范围为0000 0000 0000 0001-0111 1111 1111 1111 ...
- 判断一个int 型整数 是否为回文数
leetcode 上的题目 Determine whether an integer is a palindrome. Do this without extra space. 由于不能使用额外空间, ...
随机推荐
- java 去掉字符串右侧空格
public static String rightTrim(String str) { String regex = "(.*\\S+)(\\s+$)"; Patte ...
- 【转】在ubuntu环境下搭建svn server遇到的一些问题
原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...
- Delphi socket() 函数的应用
socket()系统调用,带有三个参数: 1.参数domain指明通信域,如PF_UNIX(unix域),PF_INET(IPv4), PF_INET6(IPv6)等 2.type指明通信类型,最常用 ...
- NOI题库05 派
05:派 Description 我的生日要到了!根据习俗,我需要将一些派分给大家.我有N个不同口味.不同大小的派.有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块 ...
- UIColor的使用
UIColor主要在设置各个控件的颜色的时候用得到,主要有以下几种方法创建UIColor: 1.使用RGBA创建: greenbluealpha]; 2.直接创建各个常用颜色: [UIColo ...
- hdu 4405概率dp
#include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...
- Error, some other host already uses address
rhel 5.9,在修改完网卡配置信息重启网卡之后提示如下无法激活网卡: Error, some other host already uses address 确认配置的IP地址是没有在用的,解决办 ...
- eCos系统CPU负载测量
原文:http://ecos.sourceware.org/docs-latest/ref/services-cpuload.html 译文:http://blog.csdn.net/zoomdy/a ...
- Tomcat配置多个端口号或多个应用
一.在Tomcat下配置一个应用服务(service)中,配置多个端口号. 即一个service配置多个端口,项目可以通过多个端口访问. 修改tomcat-home\conf下的server.xml, ...
- EnterpriseArchitectect 软件的勾选的几个选项对应的中文意思
Business Process 业务流程 Requirements 需求分析 Use Case 用例 Domain Model 领域模型 Class 类 Database 数据库设计 Compone ...