计算机组成原理 您所在的位置:网站首页 补码为10001101的原码 计算机组成原理

计算机组成原理

2023-11-17 12:15| 来源: 网络整理| 查看: 265

文章目录 一、什么是原码、反码和补码二、基本类型所占空间推算

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

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

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

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

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

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

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

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有