深入解析C语言中常数的数据类型

时间:2021-09-03 11:02:18 

废话不多说,上代码


//编译环境:codeblocks+gcc
#include <stdio.h>
#include <stdint.h>
int Fun()
{
    uint64_t y;
    uint32_t x1, x2;

    //y = 3000 * 24000000 / 1000;//常数默认作为32位数据,临时运算结果也是32位,溢出错误
    //y = (uint64_t)3000 * (uint64_t)24000000 / 1000;//常数强制转换为64位,运算正确
    y = 3000ULL * 24000000ULL / 1000ULL;//常数使用64位格式,运算正确

    printf("0x%llX\n", y);//输出
    x1 = (uint32_t)(y & 0xFFFFFFFF);
    x2 = (uint32_t)(y >> 32);
    printf("0x%X,0x%X \n", x1, x2);//输出结果
}
int main()
{
    Fun();
}

标签:C语言,常数,数据类型
0
投稿

猜你喜欢

  • springboot快速集成mybatis-plus的详细教程

    2021-06-11 22:05:16
  • Unity实现仿3D轮转图效果

    2023-11-24 12:26:56
  • 一文详解C#中重写(override)及覆盖(new)的区别

    2021-07-17 02:36:32
  • 详解java接口(interface)在不同JDK版本中的变化

    2022-07-18 03:19:16
  • Java聊天室之实现接收和发送Socket

    2021-06-24 23:30:39
  • 用JAVA实现杨辉三角实例

    2023-08-28 16:45:23
  • Android开源AndroidSideMenu实现抽屉和侧滑菜单

    2023-10-09 09:24:51
  • Spring Boot MQTT Too many publishes in progress错误的解决方案

    2023-06-27 02:16:44
  • Spring Boot详解配置文件的用途与用法

    2022-08-01 20:37:27
  • Java 中的Printstream介绍_动力节点Java学院整理

    2021-12-21 06:08:36
  • Spring Security实现两周内自动登录"记住我"功能

    2021-12-15 17:59:22
  • Flow转LiveData数据丢失原理详解

    2023-05-20 10:22:25
  • Java新手环境搭建 Tomcat安装配置教程

    2021-08-19 08:06:23
  • ReentrantLock获取锁释放锁的流程示例分析

    2021-08-05 20:51:10
  • C#如何解析http报文

    2022-11-22 23:20:56
  • Android解决所有双击优化的问题

    2023-07-27 09:07:03
  • 图解Java经典算法冒泡排序的原理与实现

    2023-03-14 21:41:23
  • springboot自动配置原理解析

    2021-06-01 17:54:33
  • 详解Spring Cloud Stream使用延迟消息实现定时任务(RabbitMQ)

    2022-09-14 05:07:34
  • Java并发(Runnable+Thread)实现硬盘文件搜索功能

    2023-05-06 04:59:22
  • asp之家 软件编程 m.aspxhome.com