原码 反码 补码

一.机器数和真值

机器数:

由于一些硬件的限制计算机只能识别二进制数据,因此在计算机中只会存储二进制数据;机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

比如,十进制中的数 +7,计算机字长为8位,转换成二进制就是00000111。如果是 -7 ,就是 10000111 。这里的00000111和10000111就是机器数。

真值:

从上面可以知道机器数形式上的二进制数据直接转换成十进制并不是真值,由于高位为符号位;如上面10000111表示135并不是真值,而是+7

二. 原码, 反码, 补码的基础概念和计算方法.

1. 原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:


[+1]原 = 0000 0001
[-1]原 = 1000 0001

第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]

[-127 , 127]
原码人是可以直接计算出来真值的

2. 反码

反码的表示方法是:

正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反

可见如果一个反码表示的是负数, 人是无法直观的看出来它的数值. 通常要将其转换成原码再计算.

3. 补码

补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补

对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 设计指南(第3版) 初读笔记

第1章 HTML标记与文档结构 关于<title>标签&#xff1a;搜索引擎会给<title>标签中的文字内容赋予很高的权重。而且这些文字也会作为网页标题出现在搜索结果列表中。 无论你想了解哪个HTML元素&#xff0c;第一个要问的问题都应该是&#xff1a;它是块元素&#xf…

win7安装python开发环境,运行python

在win7上安装python的开发环境是非常简单的事情 Step1&#xff1a;下载python安装文件 url&#xff1a;https://www.python.org/download 去这里找到你想要下载的文件 Step2&#xff1a;安装 windows上当然是傻瓜式安装了&#xff0c;你还在纠结什么呢 Step3&#xff1a;…

HC-05蓝牙模块基本使用

1.进入AT模式 EN输入高电平按住按键不放,然后上电,进入AT模式,不过AT指令只能输入一次,下次再输入AT需要重新进入 2.串口波特率设为38400,进行AT模式下的指令操作 3.基本AT指令 ATORGL   恢复出厂设置 ATNAME newName  修改蓝牙名字 ATROLE0/1/2  0:从模式 1:主模式 2:回…

Objective-C中的@property和@synthesize用法

代表“Objective-C”的标志&#xff0c;证明您正在使用Objective-C语言 Objective-C语言关键词&#xff0c;property与synthesize配对使用。 功能&#xff1a;让编译好器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。 如&#xff1a; 1、在头文件中&#xff1a;…

c++11编码规范 NULL还是nullptr

0和nullptr/NULL 至于指针&#xff08;地址值&#xff09;&#xff0c;根据实际选择用0、NULL还是nullptr。对使用了C11特性的项目&#xff0c;选用nullptr&#xff1b;对于C03项目&#xff0c;推荐NULL&#xff0c;因为它像是一个指针转载于:https://www.cnblogs.com/JD85/p/4…

Android用户界面程序设计示例

[例1]按钮和Toast弹出对话框 1 [例2] TextView文本框 &#xff08;1&#xff09; 3 [例3]TextView文本框 &#xff08;2&#xff09; 4 [例4]编辑框EditText 4 [例5]单选RadioButton 6 [例6]Toast的用法简介 8 [例7]多选checkbox 12 [例8]菜单Menu 14 …

innerText,outerText,innerHTML,outerHTML区别

document.body.innerHTML&#xff1b; innerText&#xff0c;outerText&#xff0c;innerHTML&#xff0c;outerHTML资料outerHTML&#xff1a;标签对象外部的HTML文本(包括该标签) innerHTML&#xff1a;标签对象内部的HTML文本(不包括该标签) innerText: 标签对象内部的…

Ubuntu安装adobe字体

Ubuntu的字体目录存放在/usr/share/fonts目录下&#xff0c;可以看到该目录下有4个目录&#xff0c; 12$ ls /usr/share/fonts/cmap truetype type1 X11我们在truetype目录下新建一个adobe的目录来存放需要安装的Adobe中文字体&#xff0c;并把已经下载好的字体复制到该目录…

Spring Thread Pool 线程池的应用

Spring and Java Thread example 扫扫关注“茶爸爸”微信公众号坚持最初的执着&#xff0c;从不曾有半点懈怠&#xff0c;为优秀而努力&#xff0c;为证明自己而活。Download it – Spring-Thread-Example.zip (22 KB)转自&#xff1a;http://www.mkyong.com/spring/spring-and…

数据库操作类型简介

SQL语言大体上可以分为四大类&#xff1a; 数据查询语言&#xff08;DQL&#xff09;&#xff0c;数据操纵语言&#xff08;DML&#xff09;&#xff0c;数据定义语言&#xff08;DDL&#xff09;&#xff0c;数据控制语言&#xff08;DCL&#xff09;。 1. 数据查询语言DQL数…

Emule使用Upnp,解决Lowid和port not reachable的问题

路由器上钩选开启Upnp Emule->选择->扩展选项->Upnp&#xff0c; 服务器&#xff1a;【从URL更新】http://upd.emule-security.org/server.met转载于:https://www.cnblogs.com/zhyong/p/4422139.html

Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 题目描述很简单&#xff0c;就是寻找一个字符串的最大回文。 1.暴力搜索 穷举所有的可能…

Integer 中的缓存类IntegerCache

2014年去某公司笔试的时候遇到这么一道题&#xff1a; public class Test {public static void main(String[] args) {Integer int1 Integer.valueOf("100");Integer int2 Integer.valueOf("100");System.out.println(int1 int2);} } 问打印的结果的多少…

Android动画及滑动事件冲突解决(转载)

原文链接&#xff1a;http://blog.csdn.net/singwhatiwanna/article/details/38168103 Android开发中动画和事件处理是程序员迈向高手的必经之路&#xff0c;也是重点和难点。 此篇转载文章思路清晰&#xff0c;结构合理&#xff0c;用图文混合的方式完美的讲解了动画和事件冲突…

在main函数前后执行的函数之 C语言

在gcc中&#xff0c;可以使用attribute关键字&#xff0c;声明constructor和destructor&#xff0c;来指定了函数在main之前或之后运行,代码如下&#xff1a; 1 #include <stdio.h>2 3 __attribute((constructor)) void before_main()4 {5 printf("%s/n",_…

VSTO开发,转帖

http://www.cnblogs.com/oneivan/p/4243574.html转载于:https://www.cnblogs.com/xianerwonder/p/4432595.html

PowerDesigner的汉化破解安装到逆向工程(ORACLE)

一、软件安装 1、下载软件并安装安装16.5汉化版下载地址&#xff1a;真正的汉化-PowerDesigner 16.5 汉化&#xff08;包含安装文件和汉化文件&#xff09; 破解包下载地址&#xff1a;PowerDesigner V16.5 安装文件 及 破解文件 &#xff08;包含安装文件和破解文件&#xff0…

JAVA开发随记

想到一点写一点&#xff0c;遇到一点补充一点。 1、成员变量 在定义成员变量时尽量不要直接赋值&#xff0c;最好是在初始化信息的时候进行赋值操作。如果需要在属性定义的时候进行赋值&#xff0c;那么请用final修饰该属性。错误实例 class A extends B {/** 到期日距离当前…

PHP反射ReflectionClass、ReflectionMethod 入门教程

PHP反射ReflectionClass、ReflectionMethod 入门教程 作者&#xff1a;SNSGOU 发布于&#xff1a;2014-03-16 16:44:00 分类&#xff1a;PHP 浏览(6145) PHP5 具有完整的反射API&#xff0c;添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么&#xff…

Oracle开发常用知识

一、利用游标实现循环嵌套 在对oracle数据进行操作时我们会经常碰到循环甚至循环嵌套的情况。这个时候游标的作用就体现出来了。 DECLAREvId NUMBER(19);vDate DATE;--a表游标定义CURSOR a_cursor ISSELECT DISTINCT o.employeeId FROM operations o WHERE o.employeeId IS N…