csapp第二章

本文介绍了计算机系统中寻址的基本概念,包括对象的起始地址和字节数,以及大端法和小端法在数据存储中的影响。此外,详细阐述了补码表示法用于有符号数的存储,并解析了浮点数的表示方式,包括其组成部分(符号、阶码和尾数)以及如何计算浮点数的值。内容覆盖了CSAPP(计算机系统要素)第二章的关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、寻址和字节顺序

二、数值表示

1.补码

2.浮点数表示



前言

此文为csapp第二章节相关笔记

一、寻址和字节顺序

        在内存中,对于需要多字节存储的对象,系统需要知道两个信息,改对象的起始地址和对象字节数。比如int类型变量,x的其实地址是0x100,那么其会被存储在0x100、0x101、0x102、0x103的位置上。

        同时还会设计到一个问题就是大端法和小端法的问题,大端法指的是有些类型计算机是从高地址往低地址读取数据,小端法反之。这样呢,就会造成一些问题,在小端法机器上写的程序到大端法机器上可能会出问题,又或者是小端法的机器通过网络发送了一些数据到大端法的机器上,也会出现数据不一致的问题,所以这个问题有时需要注意一下。

二、数值表示

1.补码

        大多数机器中,都是用补码来表示有符号数的,因为这样的方便进行运算。对于w位补码转换为十进制的公式为:-X_{w-1}2^{w-1} + \sum_{i=0}^{w-2}x_{i}2^{i}.

2.浮点数表示

 其中s用来表示正负、exp用来表示阶码、frac用来表示尾数。

最终浮点数的值V等于

 其中,M = 1+ frac,这里的frac是尾数的值。E等于exp的值减去偏执数bias的值,bias在单精度为127,双精度为1023.

对于8位的浮点数来讲,具体计算及其数值如下表所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值