C++基础之printf()输出整数注意事项 您所在的位置:网站首页 long8mhk C++基础之printf()输出整数注意事项

C++基础之printf()输出整数注意事项

2023-10-24 09:37| 来源: 网络整理| 查看: 265

1. 各类型所占字节

在C语言中,常用的整数类型有short、int、long (int)、long long,其所占用字节如下:

类型字节short2int4long4/8 (取决于32位/64位机器)long long8

可以看到long占用的字节不低于int。

2.各类型的格式符 类型格式short%hdint%dlong%ldlong long%lld

注意:在输出不同类型的整数时,需要用对应的格式符,才能正确解读,常见错误如下:

在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。 有时候用%d输出比int小的可能没问题;如果用%lld输出字节占比比long long小的就会出问题,且输出不确定 unsigned int n1 = 100; printf("%lld\n", n1); int n2 = 1000; printf("%lld\n", n2); long int n3 = -100; printf("%lld\n", n3); long int n4 = 10000; printf("%lld\n", n4); 我的测试输出的是 // 正数相同、负数相同 64757137477206116 64757137477207016 64757141772173212 64757137477216016 C++中整型字面量的类型由其值和符号确定。 默认情况下,十进制字面量是带符号数,类型是int、long、long long里面尺寸较小的那个,即只需要能容纳下该数就行,这就导致了我们使用lld输出字面常量可能会导致的问题。 printf("%lld\n", 100); // 5647392367968356 printf("%lld\n", (long long)100); // 100


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有