浅谈C语言位和字节 人与人之间交流,需要用一种双方都能识别的语言,例如中文、英语、日语等。 同样,人和计算机之间交流(人对机器进行操作),需要一种计算机和程序员都能识别的语言,例如汇编、C、Python等语言。 计算机语言,让程序员能够准确、无误地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 编程语言就是为了方便程序员,对计算机进行有效操作的语言。 自计算机诞生以来,编程语言从汇编语言开始发展至今,全球已经有超过3000种以上的计算机编程语言。 C语言因为应用时间长、应用广泛,已经成为最经典的一种编程语言。 在MCU(单片机、微处理器)编程领域,C语言编程是绝对的王者。 单片机的基本功能是进行数据处理,数据在进行处理时需要先存放到单片机的存储器中。所以编写程序时对使用的常量与变量都要先声明数据类型,以便把不同的数据类型定位在嵌入式处理器的不同存储区中。 具有一定格式的数字或数值叫做数据,数据的不同格式叫作数据类型。数据类型是用来表示数据存储方式及所代表的数值范围的。 为了更好理解C语言中数据类型和变量类型,需要先了解下位和字节的含义。 以下内容,只代表个人观点,不一定对,仅供参考,随便看看。
图片 位和字节 一盏灯,有两种状态,亮或灭。 如果亮用数字1表示,灭用数字0表示。 两盏灯,有四种状态, 00灭灭、01灭亮、10亮灭、11亮亮。 三盏灯,有八种状态, 000灭灭灭、001灭灭亮、 010灭亮灭、011灭亮亮; 100亮灭灭、101亮灭亮、 110亮亮灭、111亮亮亮。 依此类推, 八盏灯,有2的8次方,256种状态。 1、位 一位就相当于一盏灯,在内存中占用1bit空间,它只有两种状态,1和0。 在计算机中,由于只有逻辑0和逻辑1的存在,因此很多东西、动作、数字都要表示为一串二进制的字码例如:1111 0000 等。其中每一个逻辑0或者1便是一个位。例如1111 0000共有八个位。 位的英文名字叫(bit),是计算机中最基本的单位。 2、字节 由八个位(bit)组成的一个单,叫字节 Byte,也就是8个bit组成1个Byte。 1Byte=8bit。 字节,在计算机科学中,用于表示0到255的数,或表示ASCII码字符。 如果表示ASCII码字符数便是运用字节来记录表示字母和一些符号。 例如用 “0110 0001”来表示小写字母“a”,用 “0100 0001”来表示大写字母“A”。 3、字 一个字,表示两个字节。它代表计算机处理指令或数据的二进制数位数,是计算机进行数据存储和数据处理的运算的单位。通常称16位是一个字,而32位呢,则是一个双字,64位是两个双字。 1字=2字节=16位。 一个英文字母占用一个字节的空间,一个中文汉字占用两个字节的空间。 一个二进制数字序列,在计算机中作为一个数字单,一般为8位二进制数,换算为十进制。最小值0,最大值255。 4、字长 字长就是,在同一时间中处理二进制数的位数。 处理字长为8位数据的CPU叫8位CPU; 处理字长为32位数据的CPU叫32位CPU; 处理字长为64位数据的CPU叫64位CPU。 如果还不太理解位和字节的含义,可以把一个存储器芯片想象为一栋大楼,这栋大楼有很多层,每一层都有8个相同大小的房间。 1、每一层有8个房间,每个房间就相当于一位bit;房间里面有人用1表示,没有人用0表示;可以用一个bit位来标记房间有人或没人。 2、每一层就相当于1字节,1Byte; 3、如果有256层,就表示这个存储器的容量为256字节,256字节用256B来表示; 4、如果有1024层,就表示这个存储器的容量为1024字节,1024字节可以用1KB表示。 小知识:存储器容量 1、如果一个存储器有1024个字节,表示存储器的容量为1024字节,简称1024B或1KB; 2、1KB=1024B; 3、1MB=1024KB=1024*1024B 4、1GB=1024MB=1024*1024*1024B 5、1TB=1024GB=1024*1024*1024*1024B
图片 如何学习C语言 计算机中,表示一个数时,仅用一位(bit)数往往是不够用的,需有多个位来表示。多位数码每一位的构成以及从低位到高位的进位规则称为进位计数制,简称进位制。 一、数制 基数:进位制的基数,就是在该进位制中可能用到的数码个数。如10进制的基数是10。 位权(位的权数):在某一进位制的数中,每一位的大小都对应着该位上的数码乘上一个以基数为底的幂,这个幂就是权数。权数是基数的幂。 常用进制有:二进制、十进制、十六进制等。 1、十进制(DEC) 数码为:0~9;基数是10。 运算规律:逢十进一,即:9+1=10。 十进制数的位权展开式:同样的数码在不同的数位上代表的数值不同。 例: 1199(D)=1×10 +1×10+9×10+9×10 2、二进制(BIN) 数码为:0、1;基数是2。 运算规律:逢二进一,即:1+1=10(B) 二进制数的权展开式: 例: 10101(B)= 1×2+0×2+1×2+0×2+1×2=21(D) 二进制数只有0和1两个数码,它的每一位都可以用电子器件来实现,且运算规则简单,运算电路也容易实现,运算规则: 加法规则: 0+0=0,0+1=1,1+0=1,1+1=10(B) 乘法规则: 0*0=0, 0*1=0 ,1*0=0,1*1=1 3、十六进制(HEX) 数码为:0~9、A~F(10-15); 基数是16 运算规律:逢十六进一, 即:F+1=10(H) 十六进制数的权展开式: 如:D8(H)= 13×16+8×16=216(D) 还有一种十六进制表达方式是在十六进制数的前面加“0X”。如:0XDE 表示十六进制DE=222(D) 4、数制转换 不同数制之间可以通过一定规则进行转换,可以直接用电脑中计算器进行操作。 对于一个数来说,可以用不同数制进行表示,不管用哪一种数制进行表示,这个数本身没有任何变化,都是代表同一个数。 例如:一个数字19。 用二进制表示为:0001 0011B 用十进制表示为:19D(十进制后面的D可以去掉,缺省默认为十进制数) 用十进制表示为:13H 二、ASCII码 为了表示非数值数据,必须使用另外一种位模式。 ASCll(美国国家信息交换标准码)位模式就是用位,来表示英语文本符号以及为了打印英语文本需要的控制字符而制定的。 在c语言中数据类型char 和unsigned char都使用了ASCll位模式。 - END –
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/64912.html