arm c语言编程中 << 是什么意思啊?比如说rULCON0=(0<<6)|(0<<3)|(0<<2)|(3);是什么意思啊?

arm c语言编程中 << 是什么意思啊?比如说rULCON0=(0<<6)|(0<<3)|(0<<2)|(3);是什么意思啊?,第1张

在arm中rULCON0是对应arm板上对应ULCON0寄存器的地址,通常是一个32位的寄存器,(0<<6)就是把0向左移6位,即把ULCON0寄存器32位中的第6个位置0,注意是从0位开始计数的。其他的类推

就是 数字300000 三十万.

U表示 unsigned 无符号.

L表示 long 长整数.

后缀大小写都可以, 可以单独使用(100U), 也可以组合使用(100UL)

除了这两个之外, 还有一个后缀是F, 表示float, 但是F不可以和U组合, 因为浮点数没有unsigned

这些后缀的作用是指明数据类型.

因为单独写300000程序默认的类型是 int, 加上后缀就变成了unsigned long

同样的 1.5这样浮点数, 默认类型是double(双精度浮点数), 加上f指明为float(单精度).

指明类型通常用在函数参数匹配上, 尤其是多个重载的时候.

比如说两个函数.

void fun(int)

void fun(float)

你这样调用 fun(0.5)

你可能觉得应该调用后面那个函数, 因为0.5是个浮点数而不是整数.

但实际上这个调用在语法标准上是有歧义的.

因为0.5默认是double类型, 而double转换为int和float的优先级是一样!

所以加上后缀f, 像fun(0.5F), 这样就指明调用第二个函数. 避免导致歧义.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7888607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存