`

输出十进制数字的二进制数的表示

阅读更多
一、代码如下:
	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打印整数的二进制表示(代码与解析)
分享到:
评论

相关推荐

    简单的输出十进制数输出其对应二进制数的位数

    简单的输出十进制数输出其对应二进制数的位数,很简单 很实用

    汇编实现输入十进制输出二进制、十进制和十六进制

    每次得到的余数构成二进制数的各位,从低位到高位排列。 接着,我们来看如何实现十进制到十进制的转换。由于十进制数本身就处于我们日常使用的数制系统中,所以这个转换相对简单。只需要将输入的十进制数字直接输出...

    16进制 十进制 八进制与二进制数之间的相互转换

    十六进制在编程中广泛应用,因为它能简洁地表示二进制数,一个十六进制数字对应四个二进制位。 **二、进制转换** 1. **二进制到十进制**: 可以使用权重法,即每个二进制位乘以其位置的2的幂次,然后将所有结果相加...

    十进制转化成二进制数实现

    在计算机科学中,数字的表示方式至关重要,其中最常用的是十进制和二进制系统。十进制是我们日常生活中普遍采用的计数系统,而二进制则是计算机内部处理数据的基础。本篇文章将深入探讨如何使用C++编程语言将十进制...

    c语言编程题:从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出。

    - 使用递归方法将整数分解为二进制数位。 - 输出每一位数字。 - **`showoct` 函数**:递归地计算并输出一个整数的八进制形式。 - 类似于 `showbit` 函数,但基数为8。 - **`showhex` 函数**:递归地计算并输出...

    二进制转换为十进制(Verilog代码)

    在数字系统中,二进制和十进制之间的转换是基本操作。...它利用逐位检查和位移操作,对输入的二进制数进行处理,最终得到一个32位的十进制表示。在实际应用中,可能会根据具体需求选择更通用或优化的转换策略。

    汇编语言进制(二进制,八进制,十进制,十六进制)转换

    例如,二进制数1101转换为八进制是15(1 * 8^1 + 5 * 8^0)。 十进制(Decimal)是我们日常生活中最常用的数字系统,包含0到9这十个数字。在汇编语言中,十进制常用于人类可读的数值表示。要将十进制转换为二进制或...

    c#智能进制转换器 十进制数字转换为二进制 ,八进制,十六进制

    在C#编程中,开发一个智能进制转换器可以让我们轻松地将十进制数字转换为二进制、八进制和十六进制。这个任务要求我们实现自定义的算法,而不是依赖内置的函数或库,以确保程序的通用性和不受数字范围限制。 首先,...

    三位十进制数字频率计

    三位十进制数字频率计的设计与实现 根据提供的文件信息,三位十进制数字频率计是使用VHDL语言设计的一种数字频率计,具有自动校验和测量两种功能。下面将对该设计的知识点进行详细的解释。 设计要求 * 使用VHDL...

    Multisim八位二进制转三位十进制

    二进制到十进制的转换通常通过权重累加法实现,即每位二进制数乘以其位置的2的幂次再求和。 在Multisim中,我们可以通过构建逻辑电路来实现这个转换。一个八位二进制数可以表示从00000000到11111111的256个不同数值...

    基于VC++6.0 十进制转换二进制及十六进制

    - 在输出二进制数时,通常会先补足足够的前导零,使其长度为固定位数,例如8位。 - 十六进制转换可能会涉及到字母字符(A-F),确保正确处理。 5. **错误处理**: - 输入验证:检查用户输入是否为有效的整数。 ...

    1.二进制字符串转十进制数值_labview_二进制转十进制_

    4. 结果输出:最后得到的累加和就是原二进制字符串对应的十进制数值。 在LabVIEW中,这些步骤可以通过连接不同类型的节点和控件来实现,如字符串函数、数组操作、数学运算等。自定义VI的优势在于可以定制化操作,以...

    C++实现十进制转二进制运算(改进版)

    在C++编程中,将十进制数转换为二进制数是一项常见的任务。这个"改进版"的C++实现不仅提供了将正十进制数转换为二进制的功能,而且还支持负数的转换,这涉及到二进制补码的概念。下面我们将详细探讨这些知识点。 1....

    设计算法把一个十进制整数转换为二至九进制之间的任意进制数输出

    任何数字系统都可以用基于某个基数(进制数)的符号集合来表示数字。例如,十进制系统使用0到9这十个符号,而二进制系统只使用0和1。要将十进制数转换为其他进制,我们可以采用“除基取余”方法,它分为以下步骤: ...

    C程序 十进制整数转化成二进制数,easiest

    在编程领域,将十进制整数转换为二进制数是一项常见的任务,尤其是在低级系统编程或理解计算机内部工作原理时。在C语言中,我们可以利用一系列基本操作来实现这个转换过程。以下是一个详细的知识点说明: 1. **基础...

    编写程序,接受从键盘输入的10个十进制数字,输入中遇到回车符则停止输入,各个数经过bcd码处理,以十六进制显示在屏幕上

    - **十六进制表示**则是将二进制数每4位一组转换为一个十六进制字符,例如`0000`转换为`0`,`1010`转换为`A`。 #### 主要步骤解析 1. **初始化**: 设置数据段并调用必要的系统调用初始化环境。 2. **循环读取**: ...

    c++将二进制字符串转换成十进制数

    在C++编程中,将二进制字符串转换为十进制数是一项常见的任务,尤其是在处理计算机数据表示或者进行位操作时。在这个问题中,我们主要关注如何在Visual C++环境下实现这一转换。以下是一个详细的过程解释及代码示例...

    数字各种进制的转换

    - **非十进制到十进制的转换**:采用权重法,即根据各个位上的数字乘以其所在位置的权值(进制的幂次方),再相加得到十进制数。 - **十进制到非十进制的转换**:通常采用除基取余法,即用十进制数不断除以目标...

    java十进制转换二进制

    本文通过一个具体的Java程序实例,详细介绍了如何将十进制数(包括正数和负数)转换为二进制表示的方法。通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种...

    二进制转十进制,十进制转二进制的算法

    - **计算过程**:将二进制数中每一位上的数字(0或1)乘以该位的权值,然后将所有结果相加。 **示例**:将二进制数 `1011.01` 转换成十进制数。 \[ (1011.01)_2 = (1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + ...

Global site tag (gtag.js) - Google Analytics