负数在计算机中的存储

  1. 负数在计算机中以补码的形式存储,最高位1为负数,0为正数,补码的方式方便进行加法运算。
  2. byte类型数值范围-128到127.

    最高位是标志位,127二进制为01111111,则-127为10000001,-128=-127-1,所以其二进制为10000000

  3. byte b=11111111;正数表现形式:00000001,即b=-1;
  4. 正数取反加1为其负数表现形式,那么负数取反加1会得到起它的正数形式吗?

    例:-3=1111 1101 ;取反后为:0000 0010 ; 加1:0000 0011 =3;

    所以负数取反加1后会得到其正数形式;

    那么负数减1取反得到什么呢?

    减1:1111 1100;取反:0000 0011=3,则同样得到其正数形式

时间: 2024-08-24 12:08:31

负数在计算机中的存储的相关文章

负数在计算机中如何存储

符号位 在8位机中,规定每个字节的最高位为符号位.那么,+8就是00001000,而-8则是10001000. 但是,随便找一本<计算机原理>,都会告诉你,实际上,计算机内部采用2的补码(Two's Complement)表示负数. 计算机处理加法运算逻辑 正数的原码,反码,补码都相同,负数的原码,反码,补码都不同. [x]补码+[y]补码=[x+y]补码,如果结果是正数,正数补码等于原码,如果是负数再转化成原码([x]原码=[[x]补]补) 什么是补码,及计算方法 第一步,每一个二进制位都取

负数在计算机中是怎么存储

今天,发生一件非常有趣的事情. 公司同事问了我一个问题:为什么 2.0 - 1.1 = 0.89999999 呢?不应该是 0.9吗? 原来是,他问了周围一圈的同事,都给他的是同一个回答,说这是精度问题.他百思不得其解,怎么就会产生精度问题呢.再问,就没人知道原因了. 然后,我就看到了他抱着一本厚厚的书在看.拿过来一看,是一本Java书,厚厚的六百多页,这还仅是第一卷.哟呵,这是准备大干一场啊. 看在他这么努力学习的份上,还有他那对知识极度渴望的眼神.我决定,把我毕生所学传授与他. 于是,就给他

数据在计算机中的存储

1.大小端模式(字节序) 大小端的概念:数在内存中分字节存储的先后顺序.大端模式即数的低位存在高地址,高位存在低地址当中.而小端模式相反,低位存在低地址,高位存在高地址.比如0x1234,这里的高低位是从左往右的.0x12是高位,0x34是低位.       1)大端模式: 低地址 -----------------> 高地址 0x12  |  0x34  |  0x56  |  0x78        2)小端模式: 低地址 ------------------> 高地址 0x78  | 

小数在计算机中的存储形式

本篇的目的就是为了让更多的人了解浮点数存储的基本原理,还是那句话,学习的同时带着思考.同样这里不讨论浮点数的精度损失和数值的计算理论.直接讲实质的表现. 上节讲到,C语言中的小数可以使用指数形式来表示,即aEn或aen,它等价于a * 10n 在内存中,小数也是以指数形式来表示的,但又和C语言中的有所区别.小数在被存储到内存前,首先转换为下面的形式: a * 2n a 为尾数,是二进制形式,且 1 ≤ a < 2:n 为指数,是十进制形式. 其中,2 是固定的,不需要在内存中体现出来:正负号.指

负数在计算机中的表示 Byte-128

http://blog.csdn.net/njuitjf/article/details/4585247 今天,老大让我调查一个浮点数转换为整数的问题.自己就查了些资料,顺便复习一下原码.反码和补码. 原码:将一个整数,转换成二进制,就是其原码.如单字节的5的原码为:0000 0101:-5的原码为1000 0101. 反码:正数的反码就是其原码:负数的反码是将原码中,除符号位以外,每一位取反.如单字节的5的反码为:0000 0101:-5的原码为1111 1010. 补码:正数的补码就是其原码

计算机中的存储单位

1 bit=1位 bit是计算机中能识别的最小单位 8 bit = 1 Byte = 1 字节 = 255 = 2**8-1 字节是计算机中最小的存储单位 1024Byte = 1 KByte = 1KB 1024KByte = 1MByte = 1MB 100万字节 1024MB = 1TB = 1万亿字节 硬盘是外部存储 特点: 1.数据断电不丢失 2.可重复读写 3.速度慢(相对于内存) 原文地址:https://www.cnblogs.com/zyqy/p/9226509.html

负数在计算机中的表示方法

假设有一个int类型的数,值为5,在计算机中的表示为:(int型的数占4个字节,32位)所以前面会有一堆0 00000000 00000000 00000000 00000101 现在想知道-5在计算机中怎么表示? 在计算机中,负数以其绝对值的补码形式表达. 需要先获得其绝对值的原码,再得反码,再得补码. 首先理解几个概念:原码.反码.补码 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码. 如:00000000 00000000 00000000 00000101 是5的原码. 反码:

java 20 - 8 字节流的文件复制以及汉字在计算机中的存储方式

复制文本文件:把当前目录下的FileIntputStream.java文件里面的内容复制到当前目录的b.txt文件中 分析: 数据源: FileIntputStream.java -- 读取数据 -- FileInputStream 目的地: b.txt --- 写入数据 ---- FileOutputStream 思路:首先读取数据源的内容,然后把读取到的内容再写入到目的地中 前提:数据源存在,否则会报错 1 import java.io.FileInputStream; 2 import j

浮点数在计算机中的存储

一,基础预备知识 1,十进制转换为二进制 1.1 整数部分: 连续,除以2,取余数,余数为0或1,53 / 2 = 26R1    26 / 2 = 13R0    13 / 2 = 6R1    6 / 2 = 3 R0   3 / 2  = 1 R1    1/2 = 0R1 ,对应二进制为110101(从右往左) 1.2 小数部分: 连续乘以2,大于1取1,如0.7转换成二进制为:0.7*2 = .4 + 1   0.4*2 = 0.8 + 0   0.8*2 = 0.6 + 1   0.