《深入理解计算机系统》笔记 (1) 信息的位与表示

本文介绍了计算机系统的基础知识,包括位、字节、字、字长的概念,以及C语言中位级运算的细节,如布尔运算、移位运算。讨论了字节顺序中的小端法和大端法,强调了在不同系统间数据传输可能遇到的问题。同时,对逻辑运算和移位运算的特性进行了阐述,如短路效果和移位操作的注意事项。
摘要由CSDN通过智能技术生成

基础知识

:位(bit)是电子计算机中最小的数据单位。每一位的状态只能是0或1。

字节:1个字节(byte)由8个二进制位构成,是存储空间的基本计量单位,即最小的可寻址的存储器单位 ,。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。

虚拟存储器:也称为内存(memory),可视为一个非常大的字节数组,每个字节都由一个唯一的数字来标识,称为地址(address)。

:字(word)由若干个字节构成。在IA32中,一个字由2个字节构成。字是计算机进行数据处理和运算的单位。

字长:同一时间处理的二进制数位数叫字长。不同的机器有不同的字长,指明整数和指针数据的标称大小,并决定了虚拟地址空间的最大大小(对于一个字长为w位的机器而言,虚拟地址的范围为[0,\, 2^{w})。比如,一台8位机的字长为8位,虚拟地址的范围为[0,\, 2^{8});而在32位操作系统当中,字长为32位,虚拟地址的范围为[0,\, 2^{32})

C语言中,不同数据类型的字节数在不同的机器上是不同的,可以使用运算符sizeof(type)来确定对象使用的字节数。值得一提的是,指针的字节数完全取决于机器,因为指针中存储的是数据的地址,而地址字节数是由机器决定的,所以,在32位机上指针的大小为4个字节,而在64位机上则为8个字节。

C语言中不同数据类型在不同机器下的字节数

 字节顺序

多字节对象在内存中是连续的序列,对象的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值