今天见到这种函数,查了一些他们的含义
后缀就是告诉编译器该常数的属性。
默认为有符号INT型,加了u就是无符号的,加了l就是long型。
做下移位就知道结果了。以0x80为例,左移次数过多编译器会提示你符号位被改变,即负数被移位成正数。加个u的话就被编译器识别为无符号数,可以随意移位。不会影响符号位。
例如:
C语言里面0x8000000000000000u这样的常数一律默认为int型,不是什么字节。至于int型是4字节还是2字节那就是编译器的问题了。加u尾缀并不会扩展常数占用的字节数,加ul才会从int型长度扩展成long型长度。
个人理解:
也就是说0x00是int型,0x00u是无符号int型,0x00ul长整型
设计资源 培训 开发板 精华推荐
- 使用 ON Semiconductor 的 NCP5331 的参考设计
- 【涂鸦智能】水浸传感器Plus_Zigbee
- LTC6990CS6#TRMPBF 正交正弦波振荡器的典型应用。压控频率范围为 5Hz 至 20kHz,具有 1VP-P 恒定输出幅度
- LTC2908CDDB-A1、3.3V 和 2.5V 双电源监视器的典型应用电路,未来可能扩展至多达六个电源
- SSTC固态特斯拉线圈电路
- IDF真难用 之 ESP32S2 开发板
- FEBFL77944_L80L012A,基于 FL77944 12W 筒灯交流 LED 驱动器的评估板,低线电压,无 SVF
- LT3460ES5 5V 至 12V 升压转换器的典型应用电路
- LTC3456 的典型应用 - 具有 USB 电源管理器的 2 节、多输出 DC/DC 转换器
- 基于STM32F103空气净化器设计