int类型129转byte类型得到-127的解释
package com.yygc.zhen.codeing_base; /**
* @author zhen
* @Date 2019/2/22 10:03
* 类型转换
*/
public class TypeTrans {
public static void main(String[] args) {
byte bs = (byte)129;
System.out.println(bs);
int x = -0101;
System.out.println(x);
/**
* 操作手法:
* 所见:二进制表示、十进制表示、十六进制表示等,正负使用正负号 + -
* 计算机内:
* 原码:计算机中对数字的二进制定点表示方法,原码表示法在数值前面增加了一位符号位(即最高位为符号位):正书该位为0,负数该位为1,其余位表示数值的大小,0有两种表示:+0 和 -0
* 反码:反码是数值存储的一种,多应用于系统环境设置,反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
* 补码:在计算机系统中,数值一律用补码来表示和存储,补码表示法规定:正数的补码与其原码相同,负数的补码是在其反码的末位加1
* 129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001
* 存储用补码:
* 正数的补码与其原码相同: 00000000 00000000 00000000 10000001
* int -> byte(1个字节),截取: 10000001
* 补码转反码:1开始则为负数,负数得到反码是末位-1: 10000000
* 反码转原码:逐位取反,符号位除外 11111111
* 原码转二进制:符号位提取,替换为0 -01111111
* 二进制转十进制:-2^7 -1 = -127
*
* 低位转高位就不用看了,前面的存储位置补足0即可,数值不变
* 此例子为一道常见面试题
* 参考:https://blog.csdn.net/weixin_38701432/article/details/79474277
*/
}
}
int类型129转byte类型得到-127的解释的更多相关文章
- int类型转换byte类型
		
计算机中,int类型占用4个字节,byte类型占用1个字节: 当int类型强转为byte类型时,计算机会截取最后的八位(1个字节): 由于计算机存储数据时,都是以补码的形式进行存储. 然而,我们通常看 ...
 - Int类的129为什么转成byte就变成-127了?
		
作为一个java开发人员,接触的基本都是上层的,都是以应用为主,根据业务实现功能,但今天无意间发现了一个小问题,int类型的129转成byte类型变成了-127,我知道是因为位数截取的原因,但是还没有 ...
 - int类型和byte类型的强制类型转换
		
今天在读<Java网络编程>这本书的第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意的地方.这个地方有点细节,不过就应该把这种细节把握住. 情况是这样的,讲到In ...
 - java里int类型转byte类型
		
今天在做书上的一个例子的时候, 要使用byte类型,首先我很直接的就写到了byte b = 0XAA, 结果报错, 说从int转换到byte可能会有损失. 我当时就很奇怪, 为什么会出现这种情况呢? ...
 - byte类型的取值为什么是-128~127
		
参考:https://blog.csdn.net/qq_22771739/article/details/84496115 https://blog.csdn.net/boatalways/artic ...
 - int类型被强制转换成较低精度的byte类型
		
公司的项目上线之前会进行代码合规性检查,其中很容易违反的一个规则就是“不要把原始类型转换成较低的精度”,实际开发的过程中,很多方法在处理数据时,尤其在做移位操作的时候,难免要把int类型转换成byte ...
 - 详解java中的byte类型
		
Java也提供了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte.下面这篇文章主要给大家介绍了关于j ...
 - java中byte类型
		
http://www.cnblogs.com/Robotke1/archive/2013/05/25/3099309.html ------------------------------------ ...
 - byte类型取值范围以及溢出具体解释
		
例1: public class test { public static void main(String[] args) { byte a = 127 ; a = (byte)(a+3) ; Sy ...
 
随机推荐
- Vue系列之 => Watch监视路由地址改变
			
第一种方式实现监听 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
 - Substring (后缀数组 + 计数)
			
题意:求出字符串中包含了某个字符的字符序列不一样的数量. 思路:其实主要的是找出每个被包含字符的数量,假设除了目标字符之外的所有字符都不一样,那么应该就很好求了,但是显然不可能,所以我们可以枚举每一个 ...
 - vue使用桌面Element-UI和移动端MintUI的UI框架
			
vue使用桌面Element-UI和移动端MintUI的UI框架 element-uiElement - 网站快速成型工具http://element-cn.eleme.io/#/zh-CN 安装:n ...
 - 【winform】DataGridView控件[表格]
			
一.表格 0.从数据库获取一个表在DataGridView中显示: 数据库查询的方式大同小异,重点是如何把数据显示到控件中的方法,通过dataset作为数据的中继,把Adapter中的数据存到data ...
 - centos下载
			
标题: https://www.cnblogs.com/tony-brook/p/9849624.html DVD ISO:普通光盘完整安装版镜像,可离线安装到计算机硬盘上,包含大量的常用软件,一 ...
 - ltp-ddt inverted_return小trick
			
./runtest/ddt/i2c_readwrite # @name I2C write read test on slave device# @desc I2C write read test o ...
 - sql_mode 之 ignore_space
			
用于忽略mysql系统函数名与之后的括号之间的空格. 还是给个形像的说明吧如:count (*) 通过设置ignore_space 这个sql_mode 就可以把空格给忽略变成count(*) 1 ...
 - nginx-相关功能分析  第四章
			
# Nginx服务器的rewrite.全局变量.重定向和防盗链相关功能 一:Nginx 后端服务器组的配置: 1.upstream: 用于定义可由proxy_pass,fastcgi_pass,uws ...
 - CSS 页面布局、后台管理示例
			
CSS 页面布局.后台管理示例 页面布局 1.头部菜单 2.中间内容/中间左侧菜单 3.底部内容 <div class='pg-header'> <div style='width: ...
 - MapReduce :基于 FileInputFormat 的 mapper 数量控制
			
本篇分两部分,第一部分分析使用 java 提交 mapreduce 任务时对 mapper 数量的控制,第二部分分析使用 streaming 形式提交 mapreduce 任务时对 mapper 数量 ...