在上一篇内容当中说明了什么是进制,进制存在的原因以及形式,接下来说一下一个比较特殊的进制计算,就是负数的在计算机当中的表示。举个个例子来说

6的二进制表示是什么?

0000-0000-0000-0000-0000-0000-0000-0110

那么-6的二进制又是如何计算的呢?

答:就是对-6的二进制取反之后再加1(二进制的1),即得到其补码

一个正数的负值就是正数的二进制最高位补一
-6:1000-0000-0000-0000-0000-0000-0000-0110
对它取反,也就是0变1,1变0,但是最高位符号位除外:
1111-1111-1111-1111-1111-1111-1111-1001
之后再对这个数加1(二进制的1)这里要注意一点符号位也就是最高位除外,即: 1111-1111-1111-1111-1111-1111-1111-1001
+ 0000-0000-0000-0000-0000-0000-0000-0001
--------------------------------------------------------------------
1111-1111-1111-1111-1111-1111-1111-1010 (这个就是负数在计算机中表示的方式,因为计算机只能做加法不能做减法,只能以补码的形式表示) 这个便就是负数在计算机中的表示

  

知识点拾遗:

正确的理解正负数的补码反码的表示:

  1、正数的补码、反码都是它本身。

  2、负数的反码是除最高位即符号位以外的位取反(0变1,1变0),负数的补码就是在反码的基础上除最高位即符号位以外,然后最后一位加1(二进制的1)  

  3、正0和负0的补码相同

java学习之负数的进制的更多相关文章

  1. java学习之常量与进制

    java中的常量包括以下几类: 1.整型常量,比如:3,5,89,99 2.浮点型常量:比如1.23,5.98,3.1415926 3,字符常量:'a','c','1'(需要注意的一点是字符常量只能包 ...

  2. Java编程基础——运算符和进制

    Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...

  3. 最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类

    前言:用于处理Java基本数据的转换及进制转换操作工具 一.实现功能 1.int与byte互转 2.int与byte[]互转 3.short与byte互转 4.short与byte[]互转 5.16位 ...

  4. java byte数组与16进制间的相互转换

      java byte数组与16进制间的相互转换 CreationTime--2018年6月11日15点34分 Author:Marydon 1.准备工作 import java.util.Array ...

  5. Java中char转为16进制

    Java中char转为16进制 char a = '0'; String hexStr = Integer.toHexString(a); System.out.println(hexStr);

  6. Java中字符串转为16进制表示

    Java中字符串转为16进制表示 String str = "鲸"; char[] chars = "0123456789ABCDEF".toCharArray ...

  7. Java中byte与16进制字符串的互相转换

    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...

  8. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  9. Java中byte与16进制字符串的互换原理

    我们都知道Java中的byte是由8个bit组成的,而16进制即16中状态,它是由4个bit来表示的,因为24=16.所以我们可以把一个byte转换成两个用16进制字符,即把高4位和低4位转换成相应的 ...

随机推荐

  1. PhalGo-介绍

    PhalGo-介绍 phalgo是一个Go语言的一体化开发框架,主要用于API开发应为使用ECHO框架作为http服务web程序一样可以使用,牛顿曾经说过"如果我比别人看得远,那是因为我站在 ...

  2. Android中的Adapter 详解

    http://blog.csdn.net/tianfeng701/article/details/7557819 (一) Adapter介绍 Android是完全遵循MVC模式设计的框架,Activi ...

  3. SQLSERVER 触发器 将一个服务器上的数据库中数据插入到另一个服务器上的数据库中怎么做

    首先要执行 sp_addlinkedserver '服务器ip' 然后开始写语句 insert into ip.库名字.dbo.table select * from iserted

  4. GCD介绍(二): 多核心的性能

    GCD介绍(二): 多核心的性能  概念         为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系).在低层,GCD全局dispatc ...

  5. C# 多线程详解

    1.使用多线程的几种方式 (1)不需要传递参数,也不需要返回参数 ThreadStart是一个委托,这个委托的定义为void ThreadStart(),没有参数与返回值. 复制代码 代码如下: cl ...

  6. wpf 自定义RadioButton控件样式

    实现的效果为: 我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已. 接下来分析一下样式代码: <!--自定义单选按钮样式-->        & ...

  7. java_设计模式_单例模式_Singleton Pattern(2016-08-04)

    概念: 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 适用场景: 在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或 ...

  8. 【POJ1733】【带标记并查集】Parity game

    Description Now and then you play the following game with your friend. Your friend writes down a seq ...

  9. javascript——处理(获取)浏览器版本、操作系统

    javascript——处理(获取)浏览器版本.操作系统 /** * Created by Administrator on 15-1-12. */ function BroswerUtil() { ...

  10. 《uname命令》-linux命令五分钟系列之五

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...