问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c 语言中 bit与sbit的区别

发布网友 发布时间:2022-04-25 22:55

我来回答

7个回答

热心网友 时间:2022-05-11 10:41

展开3全部

不是C语言里的,而是C51里面的。

区别在于功能不同:

bit:是变量类型,相当于boot 只占一个位,最多可定128个bit变量。

sbit:是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。

扩展资料:

单片机中C语言sbit使用方法——

1、bit位标量。

bit位标量是c51编译器的一种扩充数据类型,利用它可以定义一个位标量,但是不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0或1,类似boolean中的true和false。

2、sfr特殊功能寄存器。

sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255.利用它可以访问51单片机内部的所有特殊功能寄存器。如果sfr P1 = 0x90,这一句定P1为P1端口在片内的寄存器,在后面的语句中我们可以用P1=255(对P1端口的所有的引脚置高电平)之类的语句来操作特殊功能寄存器。

sfr是定义8位的特殊功能寄存器而sfr16 则是定义16位特殊功能寄存器。


热心网友 时间:2022-05-11 11:59

一、意思不同

bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,sbit是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。

如:

bit YesOrNo; //定义bit型变量 占用bdata区的一个位。

sbit P0_1 = P0^1; //申明一个引用名 P0_1 指向端口P0的1号接脚,不会额外分配空间。

二、用法不同

bit,sbit是KEIL c51里面扩展的数据类型,BIT表示一位二进制类型的数据,只有0,1两种取值

SBIT表示一位字符,sbit是位定义,这个定义只有51内核的单片机才有,一般用于51端口的位操作,一个P口有8位,sbit就可以定义一个通俗的名字来描述一端口8位中的其中一位如sbit LED=P0^1; sbit key=P0^2;等等,这样当你使用LED或者KEY时就相当于对P0.1和P0.2操作了。

三、用处不同

sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0×90这一句定P1为P1端口在片内的寄存器,用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。




热心网友 时间:2022-05-11 13:34

bit和sbit这两者不是C语言里面的,而是C51里面的;

bit和sbit的区别在于两者功能不同,具体如下:

bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,而sbit是给可位寻址的变量的某一个位定个别名,不另占空间;

扩展资料:

bit定义:

比特是英文 binary digit的缩写,比特是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量,一般来说,n比特的信息量可以表现出2的n次方种选择;

sbit定义:

sbit是定义特殊功能寄存器的位变量,bit和sbit都是C51扩展的变量类型,应用如sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作,bit和int char之类的差不多,只不过char=8位, bit=1位而已,都是变量,编译器在编译过程中分配地址;

参考资料来源:百度百科-sbit

参考资料来源:百度百科-bit

热心网友 时间:2022-05-11 15:25

bit和sbit都是C51扩展的变量类型。

bit和int char差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非指定,否则这个地址是随机分配的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,和Windows下VC中的BOOL类似。

sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6的定义,这个sbit量就确定地址了。

bit和sbit的最大区别在于,bit是定义一个变量;sbit经常用在寄存器中的,方便对寄存器的某位进行操作。

参考资料:http://zhidao.baidu.com/question/72536362.html

热心网友 时间:2022-05-11 17:33

  bit : 编译时分配空间 sbit 只能在外部定义全局变量。 sfr(特殊功能寄存器)的bit。SFR是系统指定的内存地址。   bit 动态分配的,有编译器来指定内存地址。   bit和sbit都是C51扩展的变量类型。   sbit 要在最外面定义,就是说必须定义成外部变量.sbit定义的是SFR(特殊功能寄存器)的bit   sbit更像是类型定义,不像是变量定义。   sbit: 指示说明性说明   bit 可以在外部或内部定义。   bit和int char之类的差不多,只不过char=8位, bit="1位而已"。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。   bit是编译器在的可寻址区分配的一个位变量,是不定的,不是绝对地址目标。   所有可位寻址的位都可由sbit指定,这包括可位寻址区和SFR中的位。   sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。   sbit位寄存器是可位寻址的绝对地址目标,定义后编译器是不会改变位置的。

热心网友 时间:2022-05-11 19:58

不是C语言里的,是C51里的(单片机的C扩展的)
bit 是变量类型,相当于boot 只占一个位,最多可定128个bit变量
sbit 是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间
如:
bit YesOrNo; //定义bit型变量 占用bdata区的一个位
sbit P0_1 = P0^1; //申明一个引用名 P0_1 指向端口P0的1号接脚,不会额外分配空间

热心网友 时间:2022-05-11 22:39

C51编程中有两个位变量的申明语句即:sbit 和 bit
sbit申明一个特殊功能的位变量,该位变量地址是确定的,比如sbit p10=P1^0;
bit申明一个通用的位变量,该位变量的地址是可变的,范围在20H~2FH(十六进制)之间,其位地址范围为:00H~FFH
c语言中bit与sbit的区别

在C语言中,bit和sbit的主要区别在于它们的定义和使用场景。简单来说,bit是标准的数据单位,用于表示二进制位;而sbit则常用于表示特殊的位场标记或属性标志。其中,“bit”指的是一个二进制位,它只能表示一个二进制的值,即“0”或“1”。而“sbit”通常在嵌入式编程中出现,用于表示一个特殊的位...

c 语言中 bit与sbit的区别

不是C语言里的,而是C51里面的。区别在于功能不同:bit:是变量类型,相当于boot 只占一个位,最多可定128个bit变量。sbit:是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。

bit与sbit定义的位变量有什么区别

1. 定义方式:使用 "bit" 关键字定义的位变量是一个普通的位变量,它代表一个单独的位。而 "sbit" 关键字用于指定特殊功能寄存器中的一个位。2. 存储方式:"bit" 类型的位变量通常会在内存中占用一个完整的字节(8位),即使它只需要存储一个位。相比之下,"sbit" 类型的位变量则利用特殊功能...

c 语言中 bit与sbit的区别

在C51语言中,bit和sbit是两种扩展的变量类型,它们在使用上有一些显著的区别。bit可以类比于C语言中的int或char,其中char通常占用8位,而bit则占用单个位,即1位。它们本质上都是变量,编译时会被分配内存地址,但默认情况下,这个地址是随机的,涵盖RAM、FLASH以及可能的扩展存储空间。bit变量的值仅限...

bit与sbit定义的位变量有什么区别

定义方式、存储方式等区别。1、定义方式:“bit”是一种普通的位变量定义方式,用于表示一个单独的位。“sbit”是特殊功能寄存器位的缩写,用于表示一个特殊功能寄存器中的位。2、存储方式:“bit”类型的位变量通常使用一个字节(8位)的内存空间来存储,即使只需要一个位的存储空间。“sbit”类型的位...

C语言中sbit是什么意思,与bit有什么区别?

1.C语言中没有sbit关键字,这个是编译器里面的关键字。 sbit应该是keil c51中的关键字,表示位寄存器。一个端口8位,用这个关键字,可以单个位操作。2.bit和sbit都是C51扩展的变量类型。典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。bit和int char之类的差不多,...

请简述c51新增数据类型bit和sbit之间的区别

可以直接对其进行读写操作,实现对端口状态的精确控制。7. 总的来说,bit和sbit都是C51中处理位数据的有效工具,主要区别在于存储方式和可寻址性:bit类型更加紧凑但不可独立寻址,适合在内部RAM中高效存储位信息;而sbit类型提供了独立的位地址,使得对特定寄存器位的直接访问和控制成为可能。

sbitbit和sbit区别

在C51的扩展中,bit和sbit都是特殊的变量类型,但它们的使用方式和特性有所不同。sbit是一种特殊的变量类型,它要求在外部定义,即作为外部变量来使用。sbit实际上定义的是SFR(特殊功能寄存器)中的一个位,它更像是一个类型说明,而非普通变量的定义。相比之下,bit可以被定义在外部或内部,它与int...

单片机中bit和sbit有什么区别?

1. sbit是单片机特有的寻址方式,它将一个特定的位地址映射到某个I/O端口上。例如,sbit P1^1表示将位地址1映射到P1端口的第1位。2. bit则是普通的位变量,它在单片机的RAM中占用一个字节(8位),并通过位地址来访问。bit位通常用于存储状态或作为程序中的判断标志。3. 总结来说,sbit和bit的...

单片机abit和sbit区别

1. bit和sbit都是C51扩展的变量类型,用于定义单片机中的位变量。2. sbit需要在最外面定义,即必须定义成外部变量。它用于指定SFR(特殊功能寄存器)的位。3. sbit的定义更多的是说明性的,它并不像bit那样是真正的变量定义。4. bit可以外部或内部定义,与int、char等类型相似,但bit只表示1位,而...

单片机中bit和sbit的区别 bit与sbit定义的位变量区别 c51bit与sbit区别 Byte和bit的区别 c语言bit位定义 sbit和bit bit与 程序中bit bit用法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
松下洗衣机出现E2怎么处理? 大阳h8电动车如何开4挡 中国邮政代扣金额1000元是什么意思呢? 立马电动车隐藏的4挡怎么调出来 非深户临时身份证办理 梦幻西游网易版官方如何下载 离温州东庄最近的招商银行在那里 九牧地漏和潜水艇地漏哪个更好九牧地漏 潜水艇下水管和九牧提篮尺寸一样吗 潜水艇水槽下水管好用还是九牧好用 很多人认为项羽是因为在鸿门宴上不杀刘邦而失去天下。结合鸿门宴谈谈感想,(300字以内) 从项羽.刘邦.项伯身上得到什么启发(学习完鸿门宴这篇课文.要自己的感悟)不要网上抄的 鸿门宴读后对项羽的感悟 在《鸿门宴》中体会项羽这个人,简单说就是对项羽的感受,我需要500字内的对项羽的感受。求位好人兼学 鸿门宴体会 10字 读了司马迁的<鸿门宴>后有何感受? 鸿门宴的感受 鸿门宴的故事给我们什么启示? 查询出厂日期,还有三星手机保修多长时间 调动员工积极性的演讲 高温瑜珈合适什么样的人群 怎样穿瑜伽袜才是最好的 瑜伽可以穿紧身的吗 汗蒸与高温瑜伽 温度有什么不同 上瑜伽课要穿什么衣服 平安公司一分钟的演讲,关于:竞争、激励、淘汰,帮忙想想怎么说?_百度问一问 高温瑜伽一小时衣服湿透能消耗多少热量 求一篇以马云为题材的励志演讲稿 瑜伽服什么牌子的好l 用纸箱做的动物手工 如何以《鸿门宴》为题写一篇故事? c51编程中sbit 和bit有什么区别 朱元璋摆鸿门宴,端上来4菜1汤,为何刘伯温感慨道:我们死定了? 读完鸿门宴 写一篇话说项羽的作文 单片机中bit和sbit有什么区别? 从小不忍则乱大谋中感悟的道理 C51开发中bit和sbit的区别 还有就是读完 鸿门宴 荆轲刺秦王 烛之武退秦师 这三篇古文写一篇作文谈谈你的感想 单片机命令中str str16 sbit bit这几个命令具体用来做什么的,有什么区别呢 赛扬G1620配什么主板 bit,sbit,sfr,sfr16这些数据类型是相对C语言的扩展,分析这些存储类型的... 关于偶然的事情中有所感悟有所发现明白一些道理的作文 keil编程时sbit的意义及用法? Intel 赛扬 G1620好不好 求好词好句和感受。 Intel 赛扬 G1620的详细参数 单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗 对于烛之武,荆轲,樊哙的精神你有怎样的感悟 对于烛之武,荆轲,樊哙的精神你有怎样的感悟 赛扬g1620相当于i几