标题: C语言中给单片机io端口赋二进制的值居然出错 [打印本页]

作者: 吴作和    时间: 2020-2-8 20:43
标题: C语言中给单片机io端口赋二进制的值居然出错
本人一直用汇编,最近才用C语言,用P0口驱动数码管显示3 ,查编码为01001111 ,十六进制为0x4F ,汇编中P0=01001111和0x4F都对,C中P0=01001111居然出错,只能P0=0x4F才行,这是什么鬼?
看来C还是没有汇编强大。
作者: karolyte    时间: 2020-2-8 22:11
您是直接写的就是P0=01001111吗?这显然不行
作者: Flywithliye    时间: 2020-2-8 23:24
本帖最后由 Flywithliye 于 2020-2-9 16:46 编辑

二进制数之前要加0b哦~emmm搞错了不好意思

作者: banalsheep    时间: 2020-2-8 23:35
C51应该只能十进制(18)、十六进制(0x12)
作者: csmyldl    时间: 2020-2-9 00:28
因为C语言只支持10进制,十六进制和八进制,有了这3种数据,什么数都可以表示出来呀,不能说不支持二进制就不强大
作者: gd2051    时间: 2020-2-9 01:04
C中P0=01001111是什么意思,你知道吗?赶紧看看书!
作者: wulin    时间: 2020-2-9 08:02
16进制是2进制的简短表达方式,不存在优劣高下问题,不同场合使用各有优势。C与汇编同样各有优势。
作者: lyl44    时间: 2020-2-17 12:43
这个只能16进制或者10进制。
作者: 笨笨兔    时间: 2020-2-18 10:29
汇编转C语言,会遇到许多问题:拿出你当初学用汇编的劲头,用那个劲头学学C......




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1