当前位置: 首页 > news >正文

C语言之 比特(bit)、字节(Byte)、字(Word)、整数(Int)

        在C语言中,经常出现上述的概念,即比特(bit)、字节(Byte)、字(Word)、整数(Int)。查看C语言标准,比特(bit)的定义如下:

         即,能存放0或1的存储单元。这是一个抽象的概念。因为,比特(bit)在C语言中并不能直接操作,因为,比特并不是最小的访问(Access)单元,即,没有比特级的寻址(unaddressable)。

        而最小的寻址单位是字节(Byte)。其定义如下:

        也就是字节(Byte)由特定数量的比特(Bit)所构成,如常见的 8 比特(Bits)构成一个字节(Byte)。 其主要特点是 C语言中的最小寻址单位(addressable)。

        整数(Int)在C语言的定义如下:

        也就是说其大小由对应的指令集架构(ISA)所定义的。那么,看看 RISCV ISA 对整数的定义如下:

 以及:

        可见,整数(Int)在 RISCV ISA 中,被定义为由 4 字节组成。

        那么,字(Word)的概念就在这些原生类型中抽象出来的,是在语义级(Semantics)上的概念,也就是跟业务逻辑(Business Logic)相关的概念。其由字节(Bytes)所组成,具体多少字节形成一个字(Word),也叫单字(Single World),由其业务逻辑所定义,通常一个字(Word)的大小等于一个整数(Int)。那么,一般来说,对应的有 半字(Half-Word)对应短整数(Short-Int),双字(Double-Word)对应长整数(Long-Int),四字(Quad-Word)对应长长整数(Long Long Int)。

        这里,可把字节(Byte)看作英文字母(Alphabet),字(Word)看作英文单词(Word in Vocabulary)。

相关文章:

  • 学习黑客PowerShell的历史、架构与工作原理深度解析
  • ## Docker 中 Elasticsearch 启动失败:日志文件权限问题排查与解决
  • 什么是仓储管理,仓储管理怎么做
  • 【Android构建系统】Soong构建系统,通过.bp + .go定制编译
  • 【成品设计】基于STM32的的宠物看护系统
  • MySQL - 如何突破单库性能瓶颈
  • Qt读取Excel文件的技术实现与最佳实践
  • MySQL替换瀚高数据库报错: TO_DAYS()不存在(APP)
  • DNS服务搭建
  • 基于vue框架的东莞市二手相机交易管理系统5yz0u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 家庭数字生态构建实战:基于飞牛fnOS的智能家居数据中台搭建全流程解析
  • 云原生环境下的事件驱动架构:理念、优势与落地实践
  • 架构演变 -单体到云原生
  • RK3568解码1080P视频时遇到系统崩溃内核挂掉的解决方案
  • 云原生攻防1(基础介绍)
  • 【Linux网络】传输层协议UDP
  • TCP和套接字SSL加密连接行为分析
  • 【Hadoop】--HA高可用搭建--3.2.2
  • mcp 学习第二篇
  • HTTPS实验室——TLS/TLCP一站式解决方案
  • 4天内,云南昆明又一县市区原主官被查
  • 杨国荣︱以经验说事:思想史研究中一种需要反思的现象
  • 习近平:坚持科学决策民主决策依法决策,高质量完成“十五五”规划编制工作
  • 《缶翁的世界》首发:看吴昌硕等湖州籍书画家的影响
  • 浙江省委金融办原副主任潘广恩被“双开”
  • 六省会共建交通枢纽集群,中部离经济“第五极”有多远?