java 中数据的强制转换 和计算的补码运算
原码 反码 补码的定义与运算
1原码:
原码是将十进制或者其他进制的数转换为二进制表示(且要根据数据的类型转换)
如:130 (默认是Int类型,则是4个字节)
原码是:00000000 00000000 00000000 100000010
2反码:
1.当原码是正数时,反码就是原码
2.当原码是负数时,反码是除了第一位的符号位以外的位数全部取反
3补码:
1.当原码是正数时,反码就是原码
2.当原码是负数时,补码是反码+1
计算机操作中对数据的分析过程:
计算机中的数据运算是用数据的补码进行的,但是显示出来是用数据的原码,及原码显示,对补码进行操作
A: 获取130的二进制原码(数据默认是int类型)
00000000 00000000 00000000 10000010
B:对数据130的原码取补码进行截断操作(130的补码就是原码),截成byte(1个字节8位)则变为 10000010
C:将截断得到的byte类型的补码用原码表示(计算机显示是用原码显示)
即是已知补码求原码
反码= 补码-1 :反码=1 0000010 - 1 = 1 0000001
原码=反码取反(除去符号位以外的位) 原码 = 1 1111110
D: 得到的显示的数为 - 126
byte值的问题
byte 的范围是 -128 ~ 127
128 : 10000000
-128 : 10000000 (这的1既是符号位,也是数值位)
上接byte类型的强制转换有byte b1 = 127; // OK
byte b1 = byte(128); //需要强制转换 得-128
byte b1 = byte(129); //需要强制转换 得-127
byte b1 = byte(130); //需要强制转换 得-126
java 中数据的强制转换 和计算的补码运算的更多相关文章
- Java中数据类型转换&基本类型变量和对象型变量
1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型 byte,short,int,lo ...
- java中如何把图片转换成二进制流的代码
在学习期间,把开发过程经常用到的一些代码段做个备份,下边代码内容是关于java中如何把图片转换成二进制流的代码,应该能对各朋友也有用处. public byte[] SetImageToByteArr ...
- java中16进制转换10进制
java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...
- Java中的线程状态转换和线程控制常用方法
Java 中的线程状态转换: [注]:不是 start 之后就立刻开始执行, 只是就绪了(CPU 可能正在运行其他的线程). [注]:只有被 CPU 调度之后,线程才开始执行, 当 CPU 分配给你的 ...
- java中的进制转换
java中的进制转换及转换函数 转自:https://blog.csdn.net/V0218/article/details/74945203 Java的进制转换 进制转换原理 十进制 转 二进制: ...
- Java中数据类型转换问题
boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转 ...
- Java基础知识强化22:Java中数据类型转换
数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b: long b: float b: double b: 上面的语句可 ...
- Java中数据类型转换大全(个人总结)
一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.value ...
- 理清Java中的编码解码转换
1.字符集及编码方式 概括:字符编码方式及大端小端 详细:彻底理解字符编码 可以通过Charset.availableCharsets()获取Java支持的字符集,以JDK8为例,得到其支持的字符集: ...
随机推荐
- P1055 书号
P1055 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字.11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号 ...
- POJ3261-Milk Patterns-后缀数组
可重叠重复k次的最长子串长度. 还是使用二分答案对heigh数组分组的做法. #include <cstdio> #include <algorithm> #include & ...
- [USACO12MAR] 花盆Flowerpot
类型:二分+单调队列 传送门:>Here< 题意:给出$N$个点的坐标,要求根据$x$轴选定一段区间$[L,R]$,使得其中的点的最大与最小的$y$值之差$\geq D$.求$Min\{R ...
- Matplotlib学习---用matplotlib画折线图(line chart)
这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...
- 【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
题目大意 有一个\(n\)个点\(m\)条边的图,每条边有一种颜色\(c_i\in\{1,2,3\}\),求所有的包括\(i\)条颜色为\(1\)的边,\(j\)条颜色为\(2\)的边,\(k\) ...
- MT【299】对数型数列不等式
已知数列$\{\dfrac{1}{n}\}$的前$n$项和为$S_n$,则下面选项正确的是( )A.$S_{2018}-1>\ln 2018$B.$S_{2018}-1<\ln ...
- LOJ# 572. 「LibreOJ Round #11」Misaka Network 与求和(min25筛,杜教筛,莫比乌斯反演)
题意 求 \[ \sum_{i = 1}^{n} \sum_{i = 1}^{n} f(\gcd(i, j))^k \pmod {2^{32}} \] 其中 \(f(x)\) 为 \(x\) 的次大质 ...
- Hdoj 2289.Cup 题解
Problem Description The WHU ACM Team has a big cup, with which every member drinks water. Now, we kn ...
- [ZJOI2019]游记之我的第一次省选--自闭记
2019/3/23 day -1 今天是体育中考....(祝我好运) 实心球再次投出测量范围,虽然成绩是10.5,但是目测有15米. 立定跳远2.70,好近,我爸叫我跳2.8的QwQ. 1000米最后 ...
- table用模板生成的问题
在使用<template></template>存放HTML模板标记时,发现一个烦人的问题,表格不行. <template> <table> <t ...