有符号的数据表示法(原、反、补)

为什么讲这个概念?

因为计算机在操作的时候,都是采用对应的二进制的补码来进行运算的

原反补都是针对二进制来说的,二进制用字节保存,一个字节保存8个字符

以+7、-7为例子:

00000111

源码:

最高位为符号位,0表示正数,1表示负数

    符号位  数值位

+7       0      0000111

-7     1      0000111

反码:

正数的反码与其原码相同,负数的反码符号位不变,其他位取反

    符号位  数值位

+7   0      0000111

-7    1      1111000

补码:

正数的补码与其源码相同,负数的补码是在其反码的基础上加1

    符号位  数值位

+7    0     0000111

-7   1     1111001

作业:

1、已知源码:10110100B,求补码和反码

2、已知反码:11101101,求源码和补码

测试:将-8+3用计算机计算结果:

1:  将-8和3的源、补、反三个码列出:

  -8  源:1  0001000    反:1  1110111  补:1  1111000

  3  源反补:  0  0000011

补码相加得到:1  1111011

将这个补码转换成为反码:1  1111010  源码:1  0000101  数字:-5

时间: 2024-10-08 21:32:09

有符号的数据表示法(原、反、补)的相关文章

常见的进制转换与有符号数据表示法

注:本内容参考与传智播客的Java内容的讲解,当然我整理了一下,做个记录~~~ 其中我认为很有价值的是有符号数据表示法,真正的去深入了解计算机,虽然我是一个渣渣~~~ 所谓进制就是指:就是位进制,是人们规定的一种进位方法.对于任何一种进制 --X进制,就表示某一位置上的数运算时是逢X进一位.二进制就是逢二进一,八进制就是逢八进一,十进制就是逢十进一,十六进制就是逢十六进一. 一.常见的进制转换 1.在Java中针对整数常量提供了四种表现形式 (1)二进制 由0,1组成.以0b开头. (2)八进制

有符号数据表示法

在计算机内,有符号数有3种表示法:原码.反码和补码.所有数据的运算都是采用补码进行的. 原码 就是二进制定点表示法,即最高位为符号位,"0"表示正,"1"表示负,其余位表示数值的大小. 反码 正数的反码与其原码相同:负数的反码是对其原码逐位取反,但符号位除外. 补码 正数的补码与其原码相同:负数的补码是在其反码的末位加1

01、Java基础语法(常量、进制转换、原/反/补码、变量和数据类型)

1.常量 2.进制转换 3.原码.反码和补码 4.变量和数据类型 1.常量 常量:在程序执行过程中其值不发生改变. Java中常量的分类: 字面值常量: 自定义常量:(面向对象讲解,static final) 字面值常量的分类: 字符串常量:(用双引号引起来的内容, "HelloWorld") 整数常量:(所有整数,12,23) 字符常量:(用单引号引起来的内容,'A','1','中') 小数常量:(所有小数,3.14) 布尔常量:(只有true和false) 空常量null:(数组部

转载 原反补码

来源 作者:张子秋 出处:http://www.cnblogs.com/zhangziqiu/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢作者大大 原码, 反码, 补码 详解 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有

标识符,进制转化,原反补码等

标识符 Java对包.类.方法.参数.变量等要素命名时使用的字符序列. 规则:***** 1.由字母(含中.英.日.俄等).数字.下划线_和美元符号$组成. 2.不能以数字开头   int 123a=1; 3.区分大小写  int a=1和int A=1是不一样的. 4.长度无限制.(一般编程长度不超过15个字符) 5.不能是Java中的保留字和关键字    int class="1"    int ainta=1 保留字和关键字都有哪些?我们知道以后应该避开它们. 标识符命名习惯:*

第三章 数据表示法

1 数据和计算机 数据和计算机的联系 计算机存在的意义是管理数据. 数据和信息的区别 数据:基本值. 信息:经过组织或处理后有含义的数据. 计算机可以存储.表示的数据包括 数字 文本 音频 图像和图形 视频 上述这些数据最终都被存储为二进制数字,简单说即是由0和1表示. 数据压缩 2 模拟数据和数字数据 自然办的大部分都是连续和无限的.而计算机则是有限的.计算机内存和其他硬件设备用来存储和操作一定量的数据空间只有那么多. 表示数据的方法有两种:模拟法和数字法. 模拟数据是一种连续表示法,模拟它表

Python基础和原反补码及表达式

基础语法 1.注释 “#”标注的文件 2.数字 整数,不区分long和int 进制0xa.0o10.0b10 bool,2个值True.False 浮点数 1.2.3.1314.-0.12.1.46e9 复数 3.字符串 使用' "单双引号引用的字符的序列 """和'''单双三引号,可以跨行,可以在其中自由的使用单双引号 在字符串前面加上r或者R前缀,表示该字符串不做特殊处理 4.转义序列 \\ \t \r \n \' \" 前缀r,把里面的所有字符当普通

机器数,原码,反码,补码,移码

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 在计算机中所有的数据的保存均是用二进制来实现的,而二进制的表示则是一串的0,1组成.而在计算机的表达中有着机 器数和原码,反码,补码和移码等数据的编码表示方法.其中这些编码的方法称为码制. (1).机器数 各种数据在计算机中的表示的形式称为机器数,其特点是数的符号用0.1来表示.机器数并不能算作真正的数值. (2).真值 机器数对于的实际数值称为该数的真值.也就是带符号的机器数(机器数是不带符号位的):机器数又分为无符号 数和有符号数

从java toBinaryString() 看计算机数值存储方式(原码、反码、补码)

一.toBinaryString 方法及其含义 1.1 方法说明 该方法位于java.lang.Integer类中 方法签名:public static String toBinaryString(int i) 含义:返回参数数值的补码形式,正数则忽略前面的0.(官方注释:返回表示传入参数的一个无符号(这里无符号大概单纯指数值前面没有+-号,实则是有符号位) 的二进制字符串.如果参数为负数x,返回的值则为 2^32 + x [就是它的补码]) 1.2 使用示例 System.out.printl