热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么byteb=0x80;报告类型不兼容,而byteb=0x70没有错误信息?

问题0:

问题0:



1
2
3
4
5
//编程语言为java

//这句话会报告类型不兼容,可能修饰精度的编译错误

byte b = 0x80;

//这句话则不会提示任何错误

byte b = 0x70;

问题1:
0x80我们用通常的二进制(不涉及补码)的形式表示应该是1000 0000,请问这里二进制中的1是符号位吗(因为我猜想上述问题可能和符号位有关。。。)?
问题2:
如果byte b = -10; 系统是先检查-10的正负性然后计算补码并存储在计算机中吗?还是说“正数的补码是本身,负数的补码是取反+1”这句话本身只是一个规律性的总结所以不能这么理解?
问题3:
如何解释-2 和 4294967294 其实在内存类保存的都是0xFFFFFFFE


   



推荐阅读
author-avatar
初夏mx
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有