当前位置: 首页 > news >正文

GCC编译器对常量的一个处理

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    printf("\n%%u=%u,%%llu=%llu,%%llu=%llu",0x100000000u,0x0ffffffffu<<1,0x1ffffffff<<1);return 0;
}

64位的GCC编译器。

结果“%u=0,%llu=4294967294,%llu=17179869182”。

0xffff ffff         =‭1111 1111 1111 1111 1111 1111 1111 1111‬

4294967294   =‭1111 1111 1111 1111 1111 1111 1111 1110‬

小于32位的常量被当做最大长度为32位的类型处理

0x1 ffff ffff      =‭0001 1111 1111 1111 1111 1111 1111 1111 1111‬

‭17179869182 =‭0011 1111 1111 1111 1111 1111 1111 1111 1110‬

大于32位的常量被当做最大长度为64位的类型处理

所以不能用(0xffff ffff<<32)+0xffff ffff的形式来获得64位的数,编译器为了省内存也限制了代码的随意性。

转载于:https://www.cnblogs.com/wcz-/p/10172680.html

相关文章:

  • 串口调试程序v1.0
  • 周赛6(28)
  • 软件架构师成长之路
  • Django之一个基于多表的图书管理系统
  • 大学排名爬取 + 绘制树状图 + 绘制圆饼图
  • 一封支付宝老员工的离职信
  • spark的广播变量
  • regsvr32.exe使用详解
  • openwrt下定义软件包的依赖关系类型
  • 找不到IIS Out-Of-Process Pooled Applications
  • 注册表:DWORD
  • 如何提取hyper-v的驱动程序
  • js base64 转成图片上传
  • 超像素、语义分割、实例分割、全景分割 傻傻分不清?
  • webpack压缩图片之项目资源优化
  • Android优雅地处理按钮重复点击
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • sublime配置文件
  • V4L2视频输入框架概述
  • Web Storage相关
  • 理清楚Vue的结构
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 学习HTTP相关知识笔记
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (笔试题)合法字符串
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (汇总)os模块以及shutil模块对文件的操作
  • (十) 初识 Docker file
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)iOS字体
  • (转)setTimeout 和 setInterval 的区别
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .form文件_SSM框架文件上传篇
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET6实现破解Modbus poll点表配置文件
  • .net专家(高海东的专栏)
  • [BUUCTF]-Reverse:reverse3解析
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [CSS] 点击事件触发的动画
  • [Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb
  • [Java开发之路](14)反射机制
  • [LeetCode] 148. Sort List 链表排序
  • [LeetCode周赛复盘] 第 312 场周赛20220925
  • [Luogu 2816]宋荣子搭积木
  • [NOIP2000] 乘积最大
  • [Oh My C++ Diary]用cout输出流保留输出小数位数的方法
  • [opencvsharp]C#基于Fast算法实现角点检测