深入了解计算机系统_03_数据类型

数据类型

整型数据类型 表示有限范围的整数
每种类型都有一个指示符: char,short,int ,long

无符号整型

可以理解就是>=0 的整数;
【Xw-1,Xw-2······X0
这个数所对应的范围是 【00····0】~ 【11···1】=0~2w-1
无符号整数其实很好理解,就是整数转化位二进制,但是对于有符号数就不能这么去理解,因为有符号数涉及到负数的问题。
在谈到负数前 先了解几个概念:
原码:二进制表示。二进制首位是符号位,0为正,1为负
反码:正数,反码和原码一样;负数,符号位不变,其他各位取反
补码:正数,补码和原码一样;负数,反码末位加1,有进位则进位,但不改变符号位

数值-1
原码1000 0001
反码1111 1110
补码1111 1111
数值-128
原码-
反码-
补码1000 0000

在补充一点 原码中的符号位只能表示一个符号位,不进行运算,补码中的符号位是进行符号位的,高位的权重是 -2w-1

-128 是比较特殊的一个数, 因为原码最小只能表示位-127 补码也就是1000 0001,

但是补码 一个字节能表示 最大的服饰位-128 也就是 1000 0000

浮点数
也就是我们说的小数
IEEE 浮点标准V=(-1)s x M x 2e

  • S 符号位,决定数的正负
  • M 有效位
  • E 指数位,对浮点数加权
系统sME
321238
641 5411

根据S,M,E的情况,被编码的值可以分成三种情况
·规格化值 对应的指数 位既不全是0,也不全是1,
·非规格化值对应的指数位全为0;
·特殊数值 对应的指数位全为1

ok 来理解较绕的一部分,小数的表示;
1,规格化数:
符号位 很简单, 0 就是正数,1 就是服饰
指数位:E=e-bias 其中e是无符号数,也就是 指数位的计算后的十进制; bias=2k-1 -1;
小数位:M=1+f 而f 是小数位计算后的结果

假设 现在有一个8bit 的浮点数, 符号位 1bit,指数位 4bit,小数位 3 bit

二进制sME表示的值
0 0001 0000:正数f=0,M=1+f=1e=1;Bias=23-1;E=-61/128
0 0001 0010:正数f=1/8,M=1+f=9/8e=1;Bias=23-1;E=-69/512

2.非规格化值
指数E=1-bias ,小数M=f

二进制sME表示的值
0 0000 0000:正数f=0,M=0=0e=1;Bias=23-1;E=-60
0 0000 0010:正数f=1/8,M=f=1/8e=1;Bias=23-1;E=-61/512

3.特殊值
指数E=1-bias ,小数M=f

二进制sME表示的值
0 1111 0000:正数--+无穷大

舍入

找到最接近匹配的值并表示出来—舍入
舍入有四种方式

方式1.41.61.52.5-1.5
向偶数舍入1222-2
向零舍入1112
向下舍入1112-1
向上舍入2223-2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值