设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
c 语言中 bit与sbit的区别
返回列表
发新帖
c 语言中 bit与sbit的区别
[复制链接]
11
|
5
|
2019-7-9 10:59:20
|
显示全部楼层
|
阅读模式
不是C语言里的,而是C51里面的。区别在于功能不同:bit:是变量类型,相当于boot 只占一个位,最多可定128个bit变量。sbit:是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。扩展资料:单片机中C语言sbit使用方法——1、bit位标量。bit位标量是c51编译器的一种扩充数据类型,利用它可以定义一个位标量,但是不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0或1,类似boolean中的true和false。2、sfr特殊功能寄存器。sfr也是一种...
回复
使用道具
举报
千问
|
2019-7-9 10:59:20
|
显示全部楼层
一、意思不同bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,sbit是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。如:bit YesOrNo; ...
回复
使用道具
举报
千问
|
2019-7-9 10:59:20
|
显示全部楼层
bit和sbit这两者不是C语言里面的,而是C51里面的;bit和sbit的区别在于两者功能不同,具体如下:bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,而sbit是给...
回复
使用道具
举报
千问
|
2019-7-9 10:59:20
|
显示全部楼层
bit和sbit都是C51扩展的变量类型。 bit和int char差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非指定,否则这个地址是随机分配的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,和Windows下VC中的BOOL类似。 sbit是对应可位寻址空间的一...
回复
使用道具
举报
千问
|
2019-7-9 10:59:20
|
显示全部楼层
bit : 编译时分配空间
sbit 只能在外部定义全局变量。
sfr(特殊功能寄存器)的bit。SFR是系统指定的内存地址。 bit 动态分配的,有编译器来指定内存地址。 bit和sbit都是C51扩展的变量类型。 sbit 要在最外面定义,就是说必须定义成外部变量.sbit定义的是SFR(特殊功能寄存器)的bi...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行