Java中 -1l<<<1是多少?
2014-10-21 20:48
316 查看
答案是:9223372036854775807 其实回答就是Long型的最大值即可!
数字9223372036854775807等于263 − 1,参考:
http://zh.wikipedia.org/wiki/9223372036854775807
数字9223372036854775807写成十六进制是7FFF,FFFF,FFFF,FFFF16,这是计算机运算中最大的64位带符号整型,对于现代计算机上所运行的许多编程语言而言,这个数字也是长整型(long,long int,long long int或bigint)变量所能赋的最大值。在运行程序时出现该数字一般代表出现错误,例如条件溢出或数值丢失等。
此数字同时也是64位处理器采取带符号扩展内存寻址(x86-64架构称此为扩展标准型寻址)所能使用的最大正符号地址。由于该数字是一个奇数,因此出现该数字往往意味着内存地址的错误偏离。在调试模式下此数字还被用作未分配内存空间的默认初始化值。
在Unix等操作系统所使用的C标准库中,头文件Time.h定义了数据类型time_t,该类型通常由32位或64位带符号整型实现,主要用于记录自Unix纪元1970年1月1日0时0分0秒(UTC)到目前为止的秒数。采用32位time_t的系统会出现所谓2038年问题,因此很多新的程序实现都选择迁移到64位版本,此版本的time_t最大的取值就是9223372036854775807(263 − 1),足够记录到2900亿年后的292277026596年12月4日15时30分08秒(UTC)。
其它系统采用64位带符号整型记录自某个纪元到目前为止的滴答数(tick),一些系统(如Java标准库)约定1次滴答等于1毫秒,这样约定的时间系统可以使用到大约2.92亿年后;另一些系统(如Win32)约定1次滴答等于100纳秒,此系统所能覆盖的时间范围是纪元前后29227年。
这题考查的知识点很多:
<<<是无符号右移,所谓无符号就是用0填充。
-1的2进制是1111 ... ...
右移一位:
也就是:
关于Java中的位移:
《Java核心技术-基础知识(第8版)》
《Java 7入门经典》
数字9223372036854775807等于263 − 1,参考:
http://zh.wikipedia.org/wiki/9223372036854775807
数字9223372036854775807写成十六进制是7FFF,FFFF,FFFF,FFFF16,这是计算机运算中最大的64位带符号整型,对于现代计算机上所运行的许多编程语言而言,这个数字也是长整型(long,long int,long long int或bigint)变量所能赋的最大值。在运行程序时出现该数字一般代表出现错误,例如条件溢出或数值丢失等。
此数字同时也是64位处理器采取带符号扩展内存寻址(x86-64架构称此为扩展标准型寻址)所能使用的最大正符号地址。由于该数字是一个奇数,因此出现该数字往往意味着内存地址的错误偏离。在调试模式下此数字还被用作未分配内存空间的默认初始化值。
在Unix等操作系统所使用的C标准库中,头文件Time.h定义了数据类型time_t,该类型通常由32位或64位带符号整型实现,主要用于记录自Unix纪元1970年1月1日0时0分0秒(UTC)到目前为止的秒数。采用32位time_t的系统会出现所谓2038年问题,因此很多新的程序实现都选择迁移到64位版本,此版本的time_t最大的取值就是9223372036854775807(263 − 1),足够记录到2900亿年后的292277026596年12月4日15时30分08秒(UTC)。
其它系统采用64位带符号整型记录自某个纪元到目前为止的滴答数(tick),一些系统(如Java标准库)约定1次滴答等于1毫秒,这样约定的时间系统可以使用到大约2.92亿年后;另一些系统(如Win32)约定1次滴答等于100纳秒,此系统所能覆盖的时间范围是纪元前后29227年。
这题考查的知识点很多:
<<<是无符号右移,所谓无符号就是用0填充。
-1的2进制是1111 ... ...
右移一位:
也就是:
关于Java中的位移:
《Java核心技术-基础知识(第8版)》
《Java 7入门经典》
相关文章推荐
- 替换Java字符串中的“& lt;”为“<”
- JAVA 运算符 >> >>> <<
- JavaBean中的<jsp:useBean>标签
- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>标签再使用时报错
- JAVA多态性<==>我和网友交流实录
- 在JavaScript中实现类似Java中List<Map>类型的数组
- 常用AWT监听器接口,事件和事件源(摘自Java 2 核心技术<卷一:基础知识>(第七版)》)
- Java【多线程知识总结(10)】线程通信之wait()与notify()的运用--模拟指挥官指挥2个连队交替轰炸战区<另外的写法>
- List<Entity>排序:根据javabean中的一个字段对beanList进行排序
- if(a < num && b-- == 0) 中b的值是多少
- 有多少行? SELECT rows FROM sysindexes WHERE id = OBJECT_ID('table_name') AND indid < 2
- &lt;JAVA编程术语英语翻译&gt;
- [Java Generics] get T.Class from &lt;T&gt;
- 漫谈:选择Java Web开发真不容易 < 技术族谱
- <html xmlns:v="urn:schemas-microsoft-com:vml"Java软件制作全过程-----------------------工具installAnyWhere
- . 【JAVA】给定任意 字符串"yekmaakkccekymbvb",求出字符串中有多少种字符,以及每个字符的个数?
- java <%!%>标签和<%%>标签的使用
- java&gt;&gt;&gt; &gt;&gt; &lt;&lt;操作符解释
- 在Java中将数据库查询结果保存为List<Map>类型的JavaScript数组文件
- <转> 面试java高级工程师、项目经理等的常见问题