计算机进制数,有符号二进制数的表示方法及二进制编码 您所在的位置:网站首页 576的二进制是多少 计算机进制数,有符号二进制数的表示方法及二进制编码

计算机进制数,有符号二进制数的表示方法及二进制编码

2024-06-16 22:17| 来源: 网络整理| 查看: 265

目录

 一、计算机进制数 

二、有符号二进制数的表示方法

三、二进制数编码

BCD码

ASCII码

计算机数据基本单位

一、bit(位)

二、Byte(字节)

三、字

四、字长

 一、计算机进制数 

1) 十进制ND  十个数码:0~9、逢十进一

         用于计算机输入输出,人机交互

(2)二进制NB  两个数码:0、1, 逢二进一

        机器中的数据形式

(3)十六进制NH  十六个数码:0~9, A~F, 逢十六进一

          用于表示二进制数

  不同进位制数以下标或后缀区别,十进制数可不带下标   

  如:101=101D,101B=101B,101H=101H

十进制作为人类较为常用的进制,二进制则是计算机的数据形式,十六进制只跟有利于二进制表示组的形式

数制转化可学习:http://t.csdnimg.cn/MPhtr

可通过计算机进行数制转化

二、有符号二进制数的表示方法

   8位的微型计算机,从0000 0000B到1111 1111B,表示的无符号数值从0到255。

 8位微型计算机中约定,符号“+”、“-”要用1位二进制数表示。最高位D7表示符号,其他7位表示数值。

为什么需要原码,反码,补码,只要原码不行吗?

因为在计算机中,二进制的运算对于正数之间不会出现什么问题,但是当出现负数的运算的时候就会有问题

原码: 符号位和数字实际值的结合。正数是数值本身,符号位为0;负数是数值本身,符号位为1。8位二进制数的表示范围是[-127, 127]。

反码: 正数是数值本身,符号位为0;负数的数值部分是正数表示的基础上对各个位取反,符号位为1。8位二进制数的表示范围是[-127, 127]。

补码: 正数是数值本身,符号位为0,负数的数值部分是在正数表示的基础上对各个位取反后加1,符号位为1。8位二进制数的表示范围是[-128, 127]。

 正数的补码:等于原码,

      负数的补码:反码 + 1。

8位二进制数表示无符号数和有符号数的范围

 机器数

无符号数

原码

反码

补码

00000000

0

+0

+0

+0

00000001

1

+1

+1

+1

       .

.

.

.

.

01111111

127

+127

+127

+127

10000000

128

-0

-127

-128

10000001

129

-1

-126

-127

       .

.

.

.

.

       .

.

.

.

.

11111110

254

-126

-1

-2

11111111

255

-127

-0

-1

溢出问题:

设[X]补=40H,[Y]补=41H,此时,X=+64,Y=+65,直接相加后结果为+129。

  但如果用补码相加,[X]补+[Y]补=81H=1000 0001B=-127。

为什么会发生溢出现象?

关于溢出现象,它主要发生在数值超过一个数据类型能够存放的最大范围时。当使用补码表示数值时,如果两个数的和超出了该数据类型所能表示的范围,就会发生溢出。此外,符号位溢出会导致数的正负发生改变,而最高位的溢出则会导致最高位丢失。

例如,在8位二进制数中,最大的正数是127(0111 1111),最小的负数是-128(1000 0000)。如果我们尝试将127和1相加,结果应该是128,但8位二进制数无法表示128,因此会发生溢出,得到的结果是-128(1000 0000)。

因此,原码、反码和补码之所以会发生溢出现象,主要是因为数值的表示受到了数据类型的范围限制。当计算结果超出这个范围时,就会发生溢出,导致结果不准确。为了避免这种情况,程序员需要确保在编写代码时考虑到数据类型的范围,并采取适当的措施来处理可能的溢出情况。

如何判断是否溢出?

假设参加相加的两个数及结果都用补码,且将结果的进位位丢失,则有:

①两个正数相加得负数,有正溢出;

②两个负数相加得正数,有负溢出;

  有三种情况下无溢出:

         ① 两个正数相加得正数;

         ② 两个负数相加得负数;

         ③ 一个正数与一个负数相加。

可学习:http://t.csdnimg.cn/ove7E

三、二进制数编码 BCD码

什么是BCD码?

BCD码(Binary-Coded Decimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。

BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码,其中最常使用的为8421码,下面所述的都是基于8421码。

BCD码的优点

相对浮点数,采样BCD码可保持数据精度,又可以免去CPU计算浮点所消耗的时间。

相对浮点数,BCD码使用二进制编码表示十进制编码,使得数字可读性更好。如数字1234.56,使用BCD码表示为0x123456。

相对字符串,BCD编码效率更高,如数字1234.56,使用字符串需7个字节,采用BCD只需3字节。

BCD码应用

数据传输编码。

仪器设备显示。

ASCII码

什么是ASCII码?

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。

ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:

0~31及127(共33个)是控制字符或通信专用字符(如换行、回车、删除等)。32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,ASCII码只包含英文字符,并不包含中文字符。如果要表示中文字符,需要使用其他编码系统,如GB2312、GBK、GB18030或Unicode等。

ASCII码应用

文本处理

网络通信

数据存储

计算机数据基本单位 一、bit(位)

位是最基本的概念,它的英文名字叫(bit),表示二进制位。

Bit:音译为“比特”,简称“b”,指二进制位,由0,1组成。

是计算机内存中最小的单位,也是最基本的单位

注意:位习惯上用小写的b表示,字节习惯上用大写的B表示。

二、Byte(字节)

Byte:译为“字节”,简称“B”,当记忆体容量过大时,Byte 这个单位就不够用,因此就有KB\MB\GB等出现。

是计算机系统中最小的存储单位

1 Byte 由 8 bits 组成

三、字

字(Word)代表计算机处理指令或数据的二进制数位数,是计算机进行数据存储和数据处理的运算的单位。

一个字通常由一个或多个(一般是字节的整数位)字节构成。

对于32位计算机与64位计算机,字的大小往往不同。

32位计算机:1字=32位=4字节,64位计算机:1字=64位=8字节

四、字长

字长是计算机的每个字所包含的位数,通俗的讲,字长就是字的长度,这里的长度用位来表示。

根据计算机的不同,字长有固定的和可变的两种。

固定字长:即字长在什么情况都是固定不变的;

可变字长:即在一定范围内,其长度是可变的。

单位换算

1字节(Byte)=8位(bit)

1 KB = 1024 B = 2^10 B

1 MB = 1024 KB = 2^20 B

1 GB = 1024 MB = 2^30 B

1 TB = 1024 GB = 2^40 B

ASCIIS码:

1个英文字母(不分大小写)= 1个字节的空间1个中文汉字 = 2个字节的空间1个ASCII码 = 一个字节



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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