计算机组成原理-原码、反码、补码和基本类型长度的计算

计算机组成原理保姆级复习资料 文章目录一、计算机系统概论二、数据的表示和运算各种进制及其转换各种进制的常见书写方式二进制优越性任意进制→十进制r 进制计数法举例二进制↔八进制、十六进制二进制 —> 八进制八进制—> 二进制二进制 —> 十六进制二进制 —> 十六进制十进制→任意进制除 x 取余倒排法(x 代表进制数)十进制→二进制(拼凑法)真值和机器数定点数与浮点数的举例无符号数概念表示范围有符号数有符号数的表示有符号数的定点表示定点整数定点小数注意:原码、反码、补码、移码原码反码补码移码用几种码表示定点整数各种 阅读详情

在汇编的学习中,一开始就介绍了原码、反码和补码的关系;计算机只能识别01001这样的机器码,而汇编本质上来说是一种助记符,能够将人能读懂的助记符转化为机器才明白的机器码。而机器读取二进制是最高效的。

一、什么是原码、反码和补码

  • 原码
    原码是带符号位的二进制数,符号位即二进制数的最高位,用0表示该二进制数为正数,用1表示该二进制数为负数,符号位不参与二进制数转化结果的计算中。例如+13的八位原码为00001101,而-13位的八位原码为10001101。

  • 反码
    对于正二进制数来说,反码就是原码本身;对于负二进制数来说,反码就是除了符号位之外的数取反,例如-13的原码是00001101,那么它的反码就是它的原码本身00001101;-13的原码为10001101,它的反码就是11110010;。

  • 补码
    对于正二进制数来说,补码就是原码本身;对于负二进制数来说,补码就是补码最低位+1,例如-13的补码是11110011,+13的补码和反码、原码都一致。

二、基本类型所占空间推算

看完了原码、反码和补码,现在来看看Java语言中的基本类型及其所占的空间:

类型占用字节数占用位数空间大小
byte18-2^7 ~ 2^7 -1
char216-2^15 ~ 2^15 -1
short216-2^15 ~ 2^15 -1
int432-2^31 ~ 2^31 -1
float432-2^31 ~ 2^31 -1
double864-2^63 ~ 2^63 -1
long864-2^63 ~ 2^63 -1

在计算机中,每一个数据都占用一定的空间,它们所占的空间用“位(bit)”来表示,例如一个byte类型,它占用1个字节数,即1*8=8bit,占8位空间,用图形来表示就是下图,其中最高位为符号位。

11111111
01111111

那么,将二进制数11111111转化为十进制数:

这里用到了等比数列的求和公式:

在这里插入图片描述

得:
S1 = -(2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0) = 2^7=-128
算上0占的位置,有
S2 = 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 - 1 = 127
所以求得一个byte类型数据范围为
-128~127

其余的各个基本类型所占的数据都可以通过这样算出来了~

计算机组成原理第六版部分习题答案 [-x]补”为0.001001,其符号位为0,说明-x为正数,正数的原码、反码、补码相等,则“[-x]原”为0.001001,则真值-x为+0.001001,则真值x为-0.001001,或者-0.140625。“[-x]补”为001001,其符号位为0,说明-x为正数,正数的原码、反码、补码相等,则“[-x]原”为001001,则真值-x为+01001,则真值x为-01001,或者-9。因此,符号为 1 时,表示正数,符号为 0 时,表示负数。有一个字长位32位的浮点数,符号位1位; 阅读详情

相关推荐

计算机组成原理——运算方法之原码、补码、移码

是以为补码的0(正负)都是一样的,都是用的0000 0000 这个编码,而在原码中+0的原码是 0000 0000 那么-0的原码是 1000 0000,所以在补码中就空出来一位,那么空出来的这一位就分给了最小位数,为什么是最小位数。至于2n - x = 2^n + |x| ,因为记住2的n次方后面是n个0,即2的n次方就是1后面n个0,因为x转化为2进制后是0-n-1位,所以加上2的n次方,就是1后面加上x的真值对应的二进制编码。规定原码的最高位也就是首位为符号位,正数为0,负数为1。

梁小布的博客 2282

原码 反码和补码

原反补

weixin_62549963的博客 1202

计算机组成原理总复习——知识点总结

计算机的两个基本概念: 冯·诺依曼体制的主要思想 1. 采用二进制代码表示数据和指令。 任何复杂的运算和操作都可转换成一系列用二进制代码表示的简单指令,各种数据则可用二进制代码来表示; 2. 采用存储程序工作方式(核心)。 将组成程序的指令和数据存储起来(称为存储程序),让计算机自动地执行有关指令,就可以完成各种复杂的运算操作(称为程序控制) 3. 计算机硬件系统由五大部件构成。 (运算器、存储器、控制器、输入设备和输出设备) ...

u011612364的博客 1万+

原码、反码、补码、移码 基本介绍

正数的原码、反码、补码相同负数的反码是原码符号位不变,其余位取反,补码是反码+1正数和负数的补码都是反码符号位取反,其余位不变。计算机储存的都是补码,因为用补码可以简化计算机运算部件的设计)。一个数其补码的补码是其原码。

m0_51991709的博客 1万+

计算机组成原理(二)—— 数据的表示与运算

本章目录引言一、数制与编码1.1 进位计数制1.1.1 进制及转换1.1.2 真值、机器数1.2 BCD码1.3 ASCII 码1.4 校验码1.4.1 奇偶校验码1.4.2 海明码1.4.3 CRC循环冗余码二、定点数的表示和运算2.1 定点数的表示2.1.1 无符号2.1.2 有符号(原码、反码、补码、移码)2.2 定点数的运算2.2.1 移位运算2.2.2 加减运算(溢出判断)2.2.3 乘法运算2.2.4 除法运算2.3 强制类型转换2.4 数据的存储和排列三、浮点数的表示和运算3.1 浮点数的表示

S mile0804的博客 7479

计算机组成原理期末知识点复习及考点总结

计算机组成原理期末知识点复习及考点总结

weixin_51733609的博客 6959

对于原码补码反码的理解

对于正数来说,原码反码补码都一样 不管是正数、负数,在底层都是以补码存在的 以byte b = 13为例:它的原码、反码、补码、都一样 以byte b = 13 为例子,展示在内存中的反码,补码,原码 13用二进制表示是00001101 反码是把0和1反过来,即:11110010 补码是反码+ 1 即:11110011 补充:数据在底层的存储格式是以补码的形式存在 补码的重要性:补码使得符号...

虑而后能得 2474

华为使用MicroG安装并使用Google服务教程

鉴于众多华为手机用户因无法使用Google服务而感到不便,我经过多次摸索和测试,总结了一份简单易懂的教程,希望能够帮助到大家。无论是需要使用Google Play商店下载应用,还是需要使用Google服务进行工作和学习,本文将详细介绍如何在华为手机上安装并使用Google服务。二、前置条件软件要求:Aurora Store(替代Google Play商店)、MicroG Companion、MicroG Server(替代Google框架)

weixin_41926602的博客 3万+

机器数——原码、反码、补码、移码

摘要:计算机中的数据表示是将现实信息转换为二进制编码的方法,包括数值数据(无符号数和有符号数)和非数值数据。有符号数采用原码、反码、补码和移码四种编码形式,其中补码是计算机实际使用的表示方式。原码直观但运算复杂,补码通过模运算实现减法变加法。反码是原码取反,移码用于比较真值大小。不同编码方式对应不同的数值范围,如8位补码范围为-128~127。计算机通过约定方式处理小数点,不实际存储小数点位置。

深耕Java后端领域,拆解算法核心思路,探索微服务搭建奥秘,沉淀专属技术笔记 795

别再死磕MuJoCo了!用PyBullet+Stable-Baselines3搞定机械臂强化学习(保姆级环境配置)

本文详细介绍了如何使用PyBullet和Stable-Baselines3构建机械臂强化学习系统,绕过昂贵的MuJoCo许可壁垒。通过实战指南,包括环境配置、机械臂Gym环境构建、训练策略与调优技巧,帮助开发者快速掌握机器人强化学习技术,提升智能控制效率。

weixin_42667269的博客 266

彻底解决Win11 Android模拟器驱动权限问题:手动修改silent_install.bat的保姆级教程

本文提供了一份详细的Win11 Android模拟器驱动权限问题解决方案,重点介绍了手动修改silent_install.bat脚本的两种方法。通过分析问题根源并给出具体代码修改方案,帮助开发者彻底解决Android Studio在Windows 11上安装时遇到的UAC循环弹窗问题,确保android-emulator-hypervisor-driver顺利安装。

dengliugong3918的博客 461

(二-3)原码,反码,补码和移码【计算机组成原理】

原码,反码,补码和移码的定义以及作用。

qq_51399192的博客 2244

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 351

计算机组成原理笔记02

第二章计算题

qq_44663230的博客 1万+

用UltraISO制作镜像以RAW格式刻录系统到U盘后,在Windows上无法识别的解决办法

在这篇文章中,用UltraISO制作镜像后,会使得U盘无法识别!!!那么,如何抹掉U盘的数据,格式化U盘呢?

拥抱具身智能,昇腾Ascend C 2732

云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。作为测试环境,本次使用 Registry2 搭建了私有镜像仓库,实际生产环境建议使用 Harbor;创建了一个 local-storage 的 StorageClass ,并使用本地磁盘的方式创建使用 PV ,实际建议使用 NFS 。

Heartsuit的博客 2463

【计算机组成原理】数据的表示和运算

定点数原码、反码、补码和移码的表示范围 定点整数 原码 以8位字长为例,我们知道8位字长可以表示0到(2^8)-1总共256个数,因为原码中,0有两种表示方法。0,000000和1,000000(假设1位符号位,7位数值位),所以可以表示255个数,即-127到+127。 补码 而8位字长的补码可以表示-128到+127,因为补码的0表示是唯一的。即0,0000000。而1,0000000在补码中...

elegant coder 4086

数据服务:数据服务框架Magic-API 介绍及实践

接口快速开发框架 基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 。在线页面快速开发平台 基于 vue 的在线页面快速开发平台,主要把所有的 vue 代码都改为在线配置,最终获得一个 json 格式的页面新一代爬虫平台 基于Java实现的新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。今天给大家安利一

GIS摆渡人 2063

计算机组成原理期末复习题

时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。 CPI:指执行每条指令所需要的平均时钟周期数。 MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。 计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。 基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。 计算机的字长一般指一次参与运算数

weixin_46758732的博客 1万+

《FPGA DDR3权威实战:从基础到高速故障录波系统》专栏导览:从不知所措到心中有数

本文是一份DDR3实战指南,作者从自身学习经历出发,分享了一套循序渐进的DDR3应用路线图。专栏包含12篇文章,从基础配置(MIG IP核、AXI总线)、仿真测试到实际项目应用(功能测试、性能测试),最后深入原生MIG接口实战,通过一个高速故障录播系统案例完整展示DDR3开发流程。文章特别强调实践性,旨在帮助读者系统掌握DDR3开发技能,避免作者当年踩过的坑。每篇都配有优快云链接,适合FPGA开发者按顺序学习参考。

FPGA_小田老师的博客 333

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【计算机组成原理】详细解读带符号整数的原码表示法

【计算机组成原理】第二章——数据的表示与运算——数制与编码 详细介绍带符号整数的原码表示法……

蒙奇D索大的博客 1984

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

GESP三级C++考试语法知识(一、原码、反码和补码)

GESP三级C++考试语法知识(一、原码、反码和补码)

汉克老师的博客 630

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

笔记:计算机组成原理——第六章

第六章

Computer_orange的博客 5843

原码,反码,补码

书本定义 1.我们在教科书上所见到的定义如下:   原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。   机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。   机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原...

Adam的专栏 654
上一篇: Git学习(3)-常用命令及操作小结
下一篇: JVM学习(1)-虚拟机内存区域划分以及内存溢出
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值