`
aliusa
  • 浏览: 84233 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java基础——十进制负数转换为二进制、八进制、十六进制

    博客分类:
  • Java
阅读更多
原文链接: http://blog.csdn.net/xiaochunyong/article/details/7616625
问题:-3如何转换成二进制?

首先我们将+3转换成二进制,假设是为int类型(32位)的,那么二进制表示为:

0000 0000 0000 0000 0000 0000 0000 0011                           --这称之为原码:一个整数的绝对值的二进制表示称之为原码。

负数转换成二进制分为3步:

1、首先将负数转换为对应的原码

-3的原码为(也就是+3转换成二进制后的字符串):

0000 0000 0000 0000 0000 0000 0000 0011
2、再将原码的每一位做取反操作得到反码。   取反操作:0变为1     1变为0;  取反后的结果即为:

1111 1111 1111 1111 1111 1111 1111 1100
3、将反码+1得到补码

1111 1111 1111 1111 1111 1111 1111 1101

现在用windows自带的计算器来验证一下,Win+R 输入calc,将计算器改为程序员,选择双字(4字节,32位)


-3的十进制以及二进制表示:




负数转换成八进制、十六进制,只需在补码(二进制)的基础上,3位合成一位计算,或者4位合成一位计算

-3的转换成二进制为:

1111 1111 1111 1111 1111 1111 1111 1101
八进制则将-3的二进制从右至左每3位为一个单元,不够三位用0补 即:

011 111 111 111 111 111 111 111 111 111 101
计算每一个单元,结果为:37777777775


十六进制则将-3的二进制从右至左每4位合并为一个单元,即:

1111 1111 1111 1111 1111 1111 1111 1101
计算后为: FFFFFFFD

分享到:
评论

相关推荐

    java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docx

    例如,`Integer.toHexString()`可以将十进制整数转换为十六进制字符串,`Integer.toBinaryString()`用于转换为二进制,而`Integer.toOctalString()`则用于转换为八进制。反之,要将其他进制的字符串转换为十进制,...

    二进制、八进制、十六进制转换.doc

    二进制与十六进制之间的转换,可以通过先将二进制转换为十进制,然后再转换为十六进制,或者直接按每四位二进制对应一位十六进制的方式进行。 6.5 原码、反码、补码 这是计算机中表示负数的一种方式,原码直接表示...

    [十进制小数转换二进制]二进制、八进制、十六进制转换方式_0.pdf

    然而,人类通常使用十进制进行日常计算,因此理解和转换二进制、八进制和十六进制对于程序员来说是基础技能。 6.1 为什么需要八进制和十六进制? 在编程时,尽管十进制更为直观,但二进制、八进制和十六进制各有其...

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

    题目要求通过C语言编程实现从键盘输入一个十进制数,并将其转换为二进制、八进制和十六进制数,最后将这三种不同进制的数值同时输出。 ### 二、基础知识回顾 #### 1. 进制的概念 在计算机科学中,我们经常接触到...

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

    在计算机科学中,将一个十进制整数转换为其他任意进制(如二进制、八进制、十六进制或介于二至九之间的任何其他进制)是常见的编程任务。这种转换通常用于数据表示、计算以及理解计算机内部工作原理。下面我们将详细...

    二进制,八进制,十六进制转换

    - **二进制与十六进制之间的转换**:可以先将二进制转换为十进制,再转换为十六进制,或者通过特定规则直接转换。例如,二进制的`1101`对应十六进制的`D`。 **6.5 原码、反码、补码** 原码是直接表示数值的二进制...

    VB程序二、八、十、十六进制转换器

    4. **十六进制到其他进制**:十六进制到二进制或八进制,可以按每四位转换为一位其他进制数,因为16=2^4。转换到十进制则可以直接对应每一位的值求和。 **负数转换** 在VB程序中,十进制负数的转换是一个关键点。...

    二进制、八进制、十六进制转换

    - **6.3.2 10 进制数转换为 8、16 进制数**:可以先将十进制数转换为二进制,再将二进制转换为八进制或十六进制。 **6.4 二、十六进制数互相转换** 转换可以在了解每个进制的基数和字符表后进行。例如,十六进制与...

    二进制、八进制、十六进制转换方式

    十进制数转换为八进制或十六进制数的过程类似于转换为二进制数,只是采用除以8或16取余的方法。例如,将十进制数839转换为八进制数的过程如下: 1. 839 ÷ 8 = 104 余数 7 2. 104 ÷ 8 = 13 余数 0 3. 13 ÷ 8 = 1 ...

    pb字符串转十六进制及各进制之间转换源码

    在IT行业中,字符串转换进制是一项基础且重要的任务,尤其在编程领域。PowerBuilder作为一款老牌的客户端/服务器应用程序开发工具,提供了丰富的功能,包括字符串处理和数据类型转换。本篇将详细介绍如何在Power...

    二进制、八进制、十进制、十六进制之间的转换

    本文档主要讨论了二进制、八进制、十进制、十六进制之间的转换,包括各个进制的表示形式、源码、补码、位运算、多个进制之间的转换思想,并提供了相关代码,实现多进制之间的相互转化。 一、进制的表示形式 * 二...

    网管工具\教程 二进制 八进制 十六进制转换方式

    例如,将十进制数100转换为二进制、八进制和十六进制: - **转换为二进制**:连续除以2并记录余数,最后得到1100100。 - **转换为八进制**:连续除以8并记录余数,最后得到144。 - **转换为十六进制**:连续除以16...

    易语言源码易语言十进制与十六进制转换比较源码.rar

    - 易语言中,可以使用内置函数“十六进制字符串”(HEX$)将十进制数转换为十六进制字符串。例如,`HEX$(10)` 将返回 "A",因为10在十六进制中是"A"。 - 如果需要转换为整型的十六进制数,可以先使用HEX$函数,再...

    c# 语音计算器 含有二进制 八进制 十进制 十六进制转换

    C# 语音计算器含有二进制八进制十进制十六进制转换 本项目旨在设计一个语音计算器,具有一般计算功能,能进行基本的加减乘除运算,还具有求根号、倒数等功能。特点是能进行不同进制的运算和不同进制间的转换。 ...

    十进制负数转换为二进制、八进制、十六进制的知识分享

    本文着重介绍十进制负数如何转换为二进制、八进制和十六进制,这在编程和计算机科学领域是非常重要的基础知识。 首先,我们需要了解什么是二进制原码。二进制原码是一种计算机中用于表示数字的定点表示方法,它在...

    二进制、八进制、十六进制转换方式.pdf

    - 二进制转换为十六进制,可以每4位二进制合并成一位十六进制,因为16是2的4次方。例如,二进制数11001011可以转换为十六进制CB。 - 十六进制转换为二进制,则是将每个十六进制位转换为4位二进制。例如,十六进制...

    用栈实现十进制转换成二进制(c语言)

    在计算机科学中,将十进制数转换为二进制数是常见的操作,尤其是在低级编程和理解计算机内部工作原理时。C语言是一种强大的、低级别的编程语言,它提供了直接操作内存和数据结构的能力,如栈(stack)。在这个场景中...

    二进制、八进制、十六进制转换方式 (2).pdf

    - **十进制转八进制和十六进制**:通常先将十进制数转换为二进制,然后再分组,每三位二进制对应一位八进制,每四位二进制对应一位十六进制。 6.4章节涉及二进制和十六进制之间的直接转换,这在编程中尤其常见,...

    C语言实现十进制转十六进制

    本篇文章将深入探讨如何使用C语言将十进制数值转换为十六进制。C语言是一种底层编程语言,提供了丰富的库函数和控制结构,使得进行这样的转换变得简单而高效。 首先,我们要理解十进制和十六进制的基本概念。十进制...

    二进制八进制十六进制

    例如,十六进制数A5转换为二进制,先转换为十进制(10*16+5=165),再将165转换为二进制。 **6.5 原码、反码、补码** 这是二进制表示负数的方式。原码直接表示数值,反码是对正数不变,负数除符号位外取反,补码是...

Global site tag (gtag.js) - Google Analytics