java-整型数值 用 16进制转换、2进制转换-Integer.toHexString
负数为什么要用补码表示
- 可以将符号位和其它位统一处理
- 减法也可按加法来处理
- 另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃
- 正数:原码、反码、补码相同。
负数:反码符号位不变化,其余位数取反,补码即为反码+1。 - 假设当前时针指向11点,而准确时间是8点,调整时间可有以下两种拨法:
一种是倒拨3小时,即:11-3=8
另一种是顺拨9小时:11+9=12+8=8
在以模为12的系统中,加9和减3效果是一样的,因此凡是减3运算,都可以用加9来代替。对“模”12而言,9和3互为补数(二者相加等于模)。所以我们可以得出一个结论,即在有模的计量系统中,减一个数等于加上它的补数,从而实现将减法运算转化为加法运算的目的。 为了显示一个byte型的单字节十六进制(两位十六进制表示)的编码,请使用:
Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).substring(6)
byteVar & 0x000000FF的作用是,如果byteVar 是负数,则会清除前面24个零,正的byte整型不受影响。(...) | 0xFFFFFF00的作用是,如果byteVar 是正数,则置前24位为一,这样toHexString输出一个小于等于15的byte整型的十六进制时,倒数第二位为零且不会被丢弃,这样可以通过substring方法进行截取最后两位即可。
System.out.println(Integer.toHexString());//
System.out.println(Integer.toHexString());//f
System.out.println(Integer.toHexString());//
System.out.println(Integer.valueOf("F", ));//16 //负整数时,前面输入了多余的 FF ,没有去掉前面多余的 FF,按并双字节形式输出
System.out.println(Integer.toHexString(-).toUpperCase());//FFFFFFFE
//实质上0xFF会像转换成0x000000FF后再进行位运算
System.out.println(Integer.toHexString(- & 0xFF).toUpperCase());//FE
System.out.println(Integer.toHexString(- & 0x000000FF).toUpperCase());//FE//注,FE输出时不会为-2,因为此时不会把FE看成负数,valueOf会把所有数字串看成正的
System.out.println(Integer.valueOf("FE", ));//254
//如果要输出-2,只能按以下形式输出
System.out.println(Integer.valueOf("-2", ));//-2
//所以要把 FE 看成负的话,只能在前面加上负号,但是这里输出还不是-2,
//而是先计算Integer.valueOf("FE", 16),再在结果前加上负
System.out.println(Integer.valueOf("-FE", ));//-254System.out.println(Integer.valueOf("-80", ));//-128
System.out.println(Integer.valueOf("7fffffff", ));//2147483647
//System.out.println(Integer.valueOf("80000000", 16));//不能运行,已注掉
System.out.println(Integer.valueOf("-80000000", ));//-2147483648System.out.println(Integer.toBinaryString(-));//
System.out.println(Integer.toBinaryString(- & 0xFF));//
System.out.println(Integer.toBinaryString(- & 0x000000FF));//
System.out.println(Integer.valueOf("", ));//2147483647
//System.out.println(Integer.valueOf("10000000000000000000000000000000", 2));
System.out.println(Integer.valueOf("-10000000000000000000000000000000", ));//-2147483648
System.out.println(Integer.valueOf("", ));//
System.out.println(Integer.valueOf("-11111110", ));//-254
java-整型数值 用 16进制转换、2进制转换-Integer.toHexString的更多相关文章
- java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量?
java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量? 整数值默认就是int类型,只有在数值常量后面加“L”或“l”才表明该常量是long型
- 将int,bigint整型数值可逆转换字符串
将 Int 和 BigInt 类型数值转换为字符串的可逆方法,可用于缩短网址或记录的ID转换等. 如: 9223372036854775807 => aZl8N0y58M7 class Conv ...
- Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型
ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型 1.返回顶部 1. 整型数值类型(C# 参考) 2019/10/22 “整型数值类型”是“简单类型”的 ...
- 【C语言】字符串与整型数值之间的转换
一.将字符串转化为对应的数值 /*============================================================================= # # F ...
- Java 字符串、数值与16进制相互转化
字符串.数值与16进制相互转化 首先创建一个工具类: package c; public class DataUtils { /* * 字节数组转16进制字符串 */ public static St ...
- Java之戳中痛点 - (7)善用Java整型缓存池
先看一段代码: package com.test; import java.util.Scanner; public class IntegerCache { public static void m ...
- java 整型相除得到浮点型
public class TestFloatOrDouble { public static void main(String[] args) { Point num1 = new Point(84, ...
- Java整型与字符串相互转换
>>>>>>>>>>>>>>>>>>>> 1如何将字串 String 转换成整数 ...
- Java整型与字符串相互转换(转)
1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([S ...
随机推荐
- C# Mqtt 断线重连
在通过 MqttClient 客户端连接之后,在服务端服务重启时,客户端如果没有重连机制,则无法再接收到订阅的消息. 使用的 Mqtt 组件为:M2Mqtt.Net.dll 一些特性发现 (1)如果提 ...
- C#数据结构_基本概念及线性表
常见的4类数据结构: 1.集合. 2.线性结构.3.树形结构.4.图状结构. 数据结构(Data Structure)简记为 DS,是一个二元组,DS = (D,R) 其中:D 是数据元素的有限集合, ...
- HDU 6055
题意略. 思路:要你找出所有正多边形,其实是唬人的,整点的正多边形只有正方形,具体证明可以参考 2017国家队论文集-<正多边形>-杨景钦 详见代码: #include<bi ...
- effective java 3th item1:考虑静态工厂方法代替构造器
传统的方式获取一个类的实例,是通过提供一个 public 构造器.这里有技巧,每一个程序员应该记住.一个类可以对外提供一个 public 的 静态工厂方法 ,该方法只是一个朴素的静态方法,不需要有太多 ...
- 检查python标识符是否有效
- 洛谷P1169 [ZJOI2007]棋盘制作 悬线法 动态规划
P1169 [ZJOI2007]棋盘制作 (逼着自己做DP 题意: 给定一个包含0,1的矩阵,求出一个面积最大的正方形矩阵和长方形矩阵,要求矩阵中相邻两个的值不同. 思路: 悬线法. 用途: 解决给定 ...
- CF922A Cloning Toys
A. Cloning Toys time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- 【LeetCode】55-跳跃游戏
题目描述 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: ...
- FreeSql (六)批量插入数据
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...
- Hibernate,一对多,多对一
Hibernate环境的配置 hibernate.cfg.xml的配置 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibern ...