- 浏览: 211092 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
一、代码如下:
二、分析流程
JAVA 中 int 4 字节 = 4*8 = 32 bit 32位
十:10
二:00000000000000000000000000001010(原码,即机器数)
反:11111111111111111111111111110101
补:11111111111111111111111111110110(原码的补码即负数的原码)
十:-10(负数:正数的原码取反码再加1,即原码的补码)
二:11111111111111111111111111110110
>>> 强制向右移动,优先级高于 &
0x 十六进制
0x80000000 = 10000000000000000000000000000000(二)
i=0
10000000000000000000000000000000 >>> 0 = 10000000000000000000000000000000
10000000000000000000000000000000
&11111111111111111111111111110110
---------------------------------
10000000000000000000000000000000
10000000000000000000000000000000 >>> 31 = 1
i=1
10000000000000000000000000000000 >>> 1 = 01000000000000000000000000000000
01000000000000000000000000000000
&11111111111111111111111111110110
---------------------------------
01000000000000000000000000000000
01000000000000000000000000000000 >>> 30 = 1
a & 0x80000000>>>i 取a左侧第i位,其余位均为0
(a & 0x80000000>>>i)>>>(31-i) 右移动31-i位,右移左侧补0,移动后剩余上面操作的第i位的数字,即将第i位移动到最数字末位,左侧全部为0
功能:输出十进制的二进制表达式
博文参考:
Java打印整数的二进制表示(代码与解析)
public static void main(String[] args) { int a = -10 ; for(int i=0;i<32;i++){ int t = (a & 0x80000000>>>i)>>>(31-i); System.out.print(t); } // String binaryString = Integer.toBinaryString(-10); // System.out.println(binaryString); }
二、分析流程
JAVA 中 int 4 字节 = 4*8 = 32 bit 32位
十:10
二:00000000000000000000000000001010(原码,即机器数)
反:11111111111111111111111111110101
补:11111111111111111111111111110110(原码的补码即负数的原码)
十:-10(负数:正数的原码取反码再加1,即原码的补码)
二:11111111111111111111111111110110
>>> 强制向右移动,优先级高于 &
0x 十六进制
0x80000000 = 10000000000000000000000000000000(二)
i=0
10000000000000000000000000000000 >>> 0 = 10000000000000000000000000000000
10000000000000000000000000000000
&11111111111111111111111111110110
---------------------------------
10000000000000000000000000000000
10000000000000000000000000000000 >>> 31 = 1
i=1
10000000000000000000000000000000 >>> 1 = 01000000000000000000000000000000
01000000000000000000000000000000
&11111111111111111111111111110110
---------------------------------
01000000000000000000000000000000
01000000000000000000000000000000 >>> 30 = 1
a & 0x80000000>>>i 取a左侧第i位,其余位均为0
(a & 0x80000000>>>i)>>>(31-i) 右移动31-i位,右移左侧补0,移动后剩余上面操作的第i位的数字,即将第i位移动到最数字末位,左侧全部为0
功能:输出十进制的二进制表达式
博文参考:
Java打印整数的二进制表示(代码与解析)
发表评论
-
京东商城--商城研发部面试
2017-12-01 19:30 5882017年12月01日 笔试题目 1. final fina ... -
海量日志数据,提取出某日访问百度次数最多的那个IP
2017-11-29 21:18 2222问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问 ... -
将数组中的内容随机打乱
2017-10-27 22:45 510问题:斗地主游戏,开局会将纸牌重新打乱,请用数组的随机排序实现 ... -
JVM基础
2017-10-26 22:41 423一、Java 运行时区域 《 ... -
String为什么使用final 修饰
2017-10-25 22:32 970主要是为了”安全性“和”效率“的缘故 1、由于String类 ... -
沐金地面试记录
2017-10-25 22:15 50510.25 下午同事帮忙投递的,约在晚上面试,下班之后赶紧去了 ... -
JD广告部面试经历
2017-10-23 16:46 428同事的同事招聘,于是同事帮忙推荐了一下! 2017年10月1 ... -
编程题目(一)
2017-09-28 22:28 3981.函数:参数为两个字符串a,b ,判断 b 中是否包含 a ... -
值传递与引用传递
2017-05-30 12:25 327一、值传递与引用传递 其实按值还是按引用的区别在于“是否在传 ... -
装箱与拆箱
2016-10-24 22:46 534public class IntegerTest { ... -
可变性与不可变性
2015-06-01 20:55 449String StringBuilder StringBuff ... -
CS架构和BS架构的区别
2015-05-25 08:50 480一、简介 1.C/S结构,即 ... -
HTTP常见响应状态码
2015-05-20 08:26 419问题:程序调试过程中 ... -
JIT的概念
2015-05-19 18:48 707参考文献: http://blog.csdn.net/yan ... -
JDK与JRE与JVM的区别
2015-05-19 18:45 10991.JDK (1)概念 JDK : Java Developm ... -
运行时与编译时
2015-05-17 18:05 537运行时与编译时 博文转载:http://www.import ... -
System.exit(0)与return的区别
2015-05-17 16:49 1034问题:System.exit(0)与return的区别 1. ... -
重载(overloading)与重写(overriding)
2015-05-17 15:50 638问题:重载(overloading)与重写(overridin ... -
==和equals
2015-05-15 20:07 653参考文献: http://www.cnblogs.com/zh ... -
return finally 与 System.exit(n)
2015-05-10 18:00 673问题:System.exit(n);的含义以及作用 说明: ...
相关推荐
简单的输出十进制数输出其对应二进制数的位数,很简单 很实用
每次得到的余数构成二进制数的各位,从低位到高位排列。 接着,我们来看如何实现十进制到十进制的转换。由于十进制数本身就处于我们日常使用的数制系统中,所以这个转换相对简单。只需要将输入的十进制数字直接输出...
十六进制在编程中广泛应用,因为它能简洁地表示二进制数,一个十六进制数字对应四个二进制位。 **二、进制转换** 1. **二进制到十进制**: 可以使用权重法,即每个二进制位乘以其位置的2的幂次,然后将所有结果相加...
在计算机科学中,数字的表示方式至关重要,其中最常用的是十进制和二进制系统。十进制是我们日常生活中普遍采用的计数系统,而二进制则是计算机内部处理数据的基础。本篇文章将深入探讨如何使用C++编程语言将十进制...
- 使用递归方法将整数分解为二进制数位。 - 输出每一位数字。 - **`showoct` 函数**:递归地计算并输出一个整数的八进制形式。 - 类似于 `showbit` 函数,但基数为8。 - **`showhex` 函数**:递归地计算并输出...
在数字系统中,二进制和十进制之间的转换是基本操作。...它利用逐位检查和位移操作,对输入的二进制数进行处理,最终得到一个32位的十进制表示。在实际应用中,可能会根据具体需求选择更通用或优化的转换策略。
例如,二进制数1101转换为八进制是15(1 * 8^1 + 5 * 8^0)。 十进制(Decimal)是我们日常生活中最常用的数字系统,包含0到9这十个数字。在汇编语言中,十进制常用于人类可读的数值表示。要将十进制转换为二进制或...
在C#编程中,开发一个智能进制转换器可以让我们轻松地将十进制数字转换为二进制、八进制和十六进制。这个任务要求我们实现自定义的算法,而不是依赖内置的函数或库,以确保程序的通用性和不受数字范围限制。 首先,...
二进制到十进制的转换通常通过权重累加法实现,即每位二进制数乘以其位置的2的幂次再求和。 在Multisim中,我们可以通过构建逻辑电路来实现这个转换。一个八位二进制数可以表示从00000000到11111111的256个不同数值...
三位十进制数字频率计的设计与实现 根据提供的文件信息,三位十进制数字频率计是使用VHDL语言设计的一种数字频率计,具有自动校验和测量两种功能。下面将对该设计的知识点进行详细的解释。 设计要求 * 使用VHDL...
- 在输出二进制数时,通常会先补足足够的前导零,使其长度为固定位数,例如8位。 - 十六进制转换可能会涉及到字母字符(A-F),确保正确处理。 5. **错误处理**: - 输入验证:检查用户输入是否为有效的整数。 ...
4. 结果输出:最后得到的累加和就是原二进制字符串对应的十进制数值。 在LabVIEW中,这些步骤可以通过连接不同类型的节点和控件来实现,如字符串函数、数组操作、数学运算等。自定义VI的优势在于可以定制化操作,以...
在C++编程中,将十进制数转换为二进制数是一项常见的任务。这个"改进版"的C++实现不仅提供了将正十进制数转换为二进制的功能,而且还支持负数的转换,这涉及到二进制补码的概念。下面我们将详细探讨这些知识点。 1....
- **十六进制表示**则是将二进制数每4位一组转换为一个十六进制字符,例如`0000`转换为`0`,`1010`转换为`A`。 #### 主要步骤解析 1. **初始化**: 设置数据段并调用必要的系统调用初始化环境。 2. **循环读取**: ...
任何数字系统都可以用基于某个基数(进制数)的符号集合来表示数字。例如,十进制系统使用0到9这十个符号,而二进制系统只使用0和1。要将十进制数转换为其他进制,我们可以采用“除基取余”方法,它分为以下步骤: ...
在编程领域,将十进制整数转换为二进制数是一项常见的任务,尤其是在低级系统编程或理解计算机内部工作原理时。在C语言中,我们可以利用一系列基本操作来实现这个转换过程。以下是一个详细的知识点说明: 1. **基础...
在C++编程中,将二进制字符串转换为十进制数是一项常见的任务,尤其是在处理计算机数据表示或者进行位操作时。在这个问题中,我们主要关注如何在Visual C++环境下实现这一转换。以下是一个详细的过程解释及代码示例...
- **非十进制到十进制的转换**:采用权重法,即根据各个位上的数字乘以其所在位置的权值(进制的幂次方),再相加得到十进制数。 - **十进制到非十进制的转换**:通常采用除基取余法,即用十进制数不断除以目标...
本文通过一个具体的Java程序实例,详细介绍了如何将十进制数(包括正数和负数)转换为二进制表示的方法。通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种...
- **计算过程**:将二进制数中每一位上的数字(0或1)乘以该位的权值,然后将所有结果相加。 **示例**:将二进制数 `1011.01` 转换成十进制数。 \[ (1011.01)_2 = (1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + ...