开始看 <<汇编语言程序设计>>

本文详细介绍了计算机中数据的存储方式以及不同类型数据是如何通过位和字节表示的。从二进制信息的基本单位位开始,逐步讲解到字节的概念,并通过实例展示了不同类型的变量在内存中的表现形式。

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

数据存储方式 位&字节

  • 计算机底层只能存储二进制信息,0,1,任何信息都是通过连续0,1,来表示的,用固定的规则对固定的串长可定这些串长的真实含义.最小的物理单位 是位,一个位可以存放0,或1.这个值得的含义取决它的类型定义,比如用来判断时,0表示假,1表示真.一个位表示的信息很有限,但多个连续的位就能够表 示很多有用的东西,

  • 比如用8个位可已表示英文任意字符,8个位也是一个字节的基数.计算机的内部有大量连续的的位,位是最小的单位,可以想象一个充满格子的空间,一个 格子就是一个位,为了更方便管理使用这些位,每隔8个位取一个编号,对于8个位的新单位就是字节,也就是计算机的每个字节都有它唯一的编号.

类型串长

  • 用固定的串长表示一个元素,在用若干个这样的串长就可以表示任何信息,比如英文就是由26个字母大小写,各种符号构造各种英文文档,我们就可以用一个固定的串长表示出它的元素,
    就像C语言支持的多种类型一样char,int,float, 同样的位元素可以以不用的方式取读,
    -
    比如”abc”[a->97->01100001][b->98->01100010][c->99->01100011]最后内部形式就想这样011000010110001001100011等价于abc.可以看出a的存储形式就是97的二进制,那如何表示97呢?,
    这里是靠类型定义与串长来确定的,当把这个值给整型类型读取时它被表示成数字,用结构体读取又是另一种信息了.

例子

char ch = 'a';
  /*字符*/
printf("%c\n", ch);
  /*数字*/
printf("%d\n", ch);

char类型的串长是一个字节,当给它2个字节的
数据,它只取低位的那个字节,

例子

#include <stdio.h>
int main(int argc, char const *argv[]) {
  int a = 0X161;
  printf("%c\n", a);
  return 0;
}

这里用char读int类型因为char是一个字节的固定串长,如果用int读double类型也只能读取前半部分,

转载于:https://my.oschina.net/dengwo/blog/544152

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值