C 打印格式小记

Java long数据类型] - 无符号长整型数据在Java中的应用 它占用8个字节(64位)的内存空间,可以存储的值范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。与整型(int)相比,长整型提供了更大的数值范围,适用于处理需要存储大整数值的情况。长整型数据类型在Java中提供了更大的数值范围,适用于处理大整数值的情况。在Java编程语言中,长整型(long)数据类型是用于表示整数值的一种数据类型。Java的长整型数据类型提供了更大的数值范围,可以用于存储IP地址的表示。在进行长整型计算时,需要注意溢出问题。 阅读详情
d,lx,ld,,lu,这几个都是输出32位的
hd,hx,hu,这几个都是输出16位数据的,
hhd,hhx,hhu,这几个都是输出8位的,
lld,ll,llu,llx,这几个都是输出64位的,

printf( "%llu ",.....)
%llu  
是64位无符号
%llx才是64位16进制数

 

Dev-C++下基本数据类型学习小结

环境: Dev-C++ 4.9.6.0 (gcc/mingw32), 使用-Wall编译选项

基本类型包括字节型(char)、整型(int)和浮点型(float/double)。

定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对

于int、double)对变量的取值区间和精度进行说明。

下面列举了Dev-C++下基本类型所占位数和取值范围:

符号属性    长度属性    基本型    所占位数    取值范围      输入符举例     输出符举例

--           --         char        8        -2^7 ~2^7-1       %c         %c、%d、%u

signed       --         char        8        -2^7 ~2^7-1       %c         %c、%d、%u

unsigned     --         char        8        0 ~2^8-1          %c         %c、%d、%u

[signed]     short      [int]       16       -2^15 ~2^15-1             %hd

unsigned     short      [int]       16       0 ~2^16-1            %hu、%ho、%hx

[signed]     --          int        32       -2^31 ~2^31-1             %d

unsigned     --         [int]       32       0 ~2^32-1             %u、%o、%x

[signed]     long       [int]       32       -2^31 ~2^31-1             %ld

unsigned     long       [int]       32       0 ~2^32-1            %lu、%lo、%lx

[signed]     long long  [int]       64       -2^63 ~2^63-1            %I64d

unsigned     long long  [int]       64       0 ~2^64-1         %I64u、%I64o、%I64x

--           --         float       32      +/-3.40282e+038        %f、%e、%g

--           --         double      64      +/- 1.79769e+308 %lf、%le、%lg   %f、%e、%g

--           long       double      96      +/-1.79769e+308       %Lf、%Le、%Lg



几点说明:

1. 注意! 表中的每一行,代表一种基本类型。“[]”代表可省略。

例如:char、signed char、unsigned char是三种互不相同的类型;

int、short、long也是三种互不相同的类型。

可以使用C++的函数重载特性进行验证,如:

void Func(char ch) {}

void Func(signed char ch) {}

void Func(unsigned char ch) {}

是三个不同的函数。



2. char/signed char/unsigned char型数据长度为1字节;

char为有符号型,但与signed char是不同的类型。

注意! 并不是所有编译器都这样处理,char型数据长度不一定为1字节,char也不一定为有符号型。



3. 将char/signed char转换为int时,会对最高符号位1进行扩展,从而造成运算问题。

所以,如果要处理的数据中存在字节值大于127的情况,使用unsigned char较为妥当。

程序中若涉及位运算,也应该使用unsigned型变量。



4. char/signed char/unsigned char输出时,使用格式符%c(按字符方式);

或使用%d、%u、%x/%X、%o,按整数方式输出;

输入时,应使用%c,若使用整数方式,Dev-C++会给出警告,不建议这样使用。



5. int的长度,是16位还是32位,与编译器字长有关。

16位编译器(如TC使用的编译器)下,int为16位;32位编译器(如VC使用的编译器cl.exe)下,int为32

位。

6. 整型数据可以使用%d(有符号10进制)、%o(无符号8进制)或%x/%X(无符号16进制)方式输入输出。

而格式符%u,表示unsigned,即无符号10进制方式。



7. 整型前缀h表示short,l表示long。

输入输出short/unsigned short时,不建议直接使用int的格式符%d/%u等,要加前缀h。

这个习惯性错误,来源于TC。TC下,int的长度和默认符号属性,都与short一致,

于是就把这两种类型当成是相同的,都用int方式进行输入输出。



8. 关于long long类型的输入输出:

"%lld"和"%llu"是linux下gcc/g++用于long long int类型(64bits)输入输出的格式符。

而"%I64d"和"%I64u"则是Microsoft VC++库里用于输入输出__int64类型的格式说明。

Dev-C++使用的编译器是Mingw32,Mingw32是x86-win32gcc子项目之一,编译器核心还是linux下的gcc。

进行函数参数类型检查的是在编译阶段,gcc编译器对格式字符串进行检查,显然它不认得"%I64d",

所以将给出警告“unknown conversion type character `I' informat”。对于"%lld"和"%llu",gcc理

所当然地接受了。

Mingw32在编译期间使用gcc的规则检查语法,在连接和运行时使用的却是Microsoft库。

这个库里的printf和scanf函数当然不认识linuxgcc下"%lld"和"%llu",但对"%I64d"和"%I64u",它则是

乐意接受,并能正常工作的。



9. 浮点型数据输入时可使用%f、%e/%E或%g/%G,scanf会根据输入数据形式,自动处理。

输出时可使用%f(普通方式)、%e/%E(指数方式)或%g/%G(自动选择)。



10. 浮点参数压栈的规则:float(4 字节)类型扩展成double(8 字节)入栈。

printf中的%#lx 表示连同前缀一起输出例如:十进制65%#x 输出0x41%#o 输出o101%#d 输出65%lx:unsinged long int (长整形)%x: unsinged int (整形) 阅读详情

相关推荐

MacOS M芯片部署ComfyUI:从环境排雷到插件生态一站式指南

本文为MacOS M系列芯片用户提供了一份详尽的ComfyUI部署指南。文章深入剖析了因架构差异导致的常见安装报错根源,并给出了基于MPS后端的正确PyTorch安装命令。从创建纯净Python虚拟环境、分步安装依赖,到验证GPU加速,手把手指导完成部署。同时,还推荐了包括管理器、汉化在内的必备插件,以完善使用生态,帮助用户一站式解决从环境搭建到效率提升的所有问题。

weixin_29261711的博客 993

C学习:%p和%x、%lx、%hx、%llx区别辨析

%p和%x、%lx、%hx、%llx(对应int、long、short、long long)区别 总结: %p 可以匹配对应类型的指针地址,输出以16进制表示,会自带前缀0x %x 可以对应int类型的指针,输出以16进制输出,不会自带前缀0x 类似的,%lx,表示long类型指针,用16进制输出 分析: 当然,上面也可以用 %ld,表示将long类型的指针地址,强制用10进制输出 %x只对应输出进制类型,具体的指针地址输出需要根据指针类型加修饰符 %p就固定了用16进制,可以囊括不同类型的指针地址表达

来知晓的博客 4万+

Selenium实战:突破反爬,自动化抓取国家知识产权局专利数据

网络爬虫是数据采集的核心技术,其原理是通过程序模拟浏览器行为,自动访问网页并提取结构化信息。在数据驱动决策的今天,高效获取公开数据对市场分析、技术调研和竞争情报至关重要。然而,面对广泛应用的JavaScript动态渲染和反爬虫机制,传统的静态页面抓取方法往往失效。Selenium作为浏览器自动化工具,通过驱动真实浏览器执行JavaScript,能够有效绕过前端反爬,实现“可见即可得”的数据抓取,在需要与页面进行复杂交互或处理动态内容的场景中价值显著。本文以【专利数据】抓取为例,结合【Selenium】工具,

weixin_33881140的博客 392

C printf格式化输入输出 %lu

printf格式化输入输出参考链接:《C学习笔记(四)格式化输入输出》(https://www.cnblogs.com/hahazexia/archive/2013/04/10/3011592.html) 使用 printf() 与 %c 格式化输出单个字符, #include <stdio.h> int main() { char c; // 声明 char 变量 c = 'A'; // 定义 char 变量 printf("c

_OpenRed_的博客 4988

Win10文件夹只读属性自动恢复?彻底解决方法解析

Win10文件夹只读属性自动恢复?彻底解决方法解析在Windows系统使用过程中,文件权限管理常会遇到棘手问题。最近多位用户反馈:取消文件夹只读属性后,系统却自动恢复该设置,导致无法正常复制或修改文件。本文将深入分析该现象的产生原因,并提供多种解决方案,帮助开发者彻底摆脱权限困扰。

mmoo_python的博客 7523

MIT Bevfusion环境安装 Docker方式,nuscenes数据处理

Bevfusion环境安装,数据生成报错解决module 'numpy' has no attribute 'long';most likely due to a circular import。bevfusion docker环境

Jack_Man_N的博客 1144

C语言 小记

本文讲解了一些关于C语言的小知识,以飨各位读者,各位可以根据目录找到自己所需,后续还会在本文中持续更新,请大家多多支持!

qq_58094522的博客 2996

修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

【代码】修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

路~可以走过 2772

c格式化符小记

char s[]="ABCDEFGHJKL";printf("%%%20s%%\n",s);//%%打印输出% %20s打印输出20长度字符宽度不够补0,默认往右对齐。printf("%%%-20s%%\n",s);//%-20s打印输出20长度字符宽度不够补空格,-表示往左对齐。printf("%%%+20s%%\n",s);//%+20s打印输出20长度字符宽度不够补空格,+表示往右...

weixin_34380948的博客 83

PMP--工件

合同是指对双方都有约束力的协议,强制卖方提供规定的产品、服务或结果,以及强制买方支付相应的费用。它还可能包括处于中间状态的特性,例如已设计但尚未构建的特性、质量保证中的特性或测试中的特性。RACI 矩阵是一种常见的方法,用于显示执行、担责、咨询或知情,且与项目活动、决策和可交付物有关的干系人。计划是提议的实现某种目标的方式。在项目开始前或开始时创建的文件,涉及与项目有关的战略、商业或高层级的信息。或 © 它们是用特定方法创建的结果,例如,虽然成本估算结果是一个重要工件,它们是用不同估算方法得出的结果。

stqer的博客 1666

【推荐100个unity插件】对话系统插件——YarnSpinner-Unity插件

Yarn Spinner是一款专为游戏对话设计的脚本语言,适用于Unity等引擎。本文介绍了在Unity中安装和使用Yarn Spinner的完整流程:首先通过Package Manager添加仓库并安装插件;然后创建Yarn Script和Project文件,配置对话系统;接着编写Yarn脚本定义对话内容,并展示运行效果;最后讲解了按键控制和多语言本地化设置。该工具采用类似剧本的简洁格式,支持分支对话、条件逻辑等功能,能有效提升游戏叙事的开发效率。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2214

C语言刷题小记1

大家仔细观察代码,getchar函数的返回值是int(字符的ASCII值),所以我们需要先创建一个整型变量去接受getchar函数的返回值,下面我们写while循环,注意循环的停止条件,这是一个比较固定的写法,大家可以记住它,在循环体中我们进行判断,这里怎么判断相信大家没有问题,需要强调的是判断完成后,我们要让getchar函数再运行一次,目的是为了处理掉"\n"。大家可以看到,改完后可以实现同样的效果,有了这个函数,我们就不需要去写出具体的判断方法了,直接交给库函数处理,就可以得到我们想要的结果。

2302_81486993的博客 1022

40、基于指令的GPU编程:OpenACC与OpenMP的深入解析

本文深入解析了两种基于指令的GPU编程模型——OpenACC和OpenMP。从编程复杂度、数据处理方式和性能表现等多个方面对两者进行了对比分析,并结合实际应用场景提供了选择建议。通过详细的代码示例和性能测试结果,帮助开发者更好地理解和应用这两种编程模型,以充分发挥GPU的并行计算能力。

q5r6s7的博客 134

C语言复习小记

变量分为局部变量和全局变量,main()函数里的变量只能用于main()里,{}包围的叫代码块,代码块里的变量只能用于代码块里这个int c是一个全局变量,定义在全局局部变量只声明没赋值,值会随机。全局变量自动赋0声明一个常量,const可以声明一个常量后续无法修改这个常量但可以直接使用(只读)#define是宏定义,定义一个宏比如途中定义最大等级是一百,以后使用“max_level”时就可以使用%d,max_level这个宏的作用是在整个源文件(或包含该头文件的所有源文件)中,将所有出现的。

BigALiang的博客 363

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LyX使用小记之二 图像

LyX使用小记(2)23:20:07 2010-04-08在Document->Settings->Document Class->Options中可以加入自己所需要的选项,用逗号隔开在LyX文档中插入空格,Ctrl+Alt+Space或者Insert->Formatting->Inter-word Space在文本中插入无标题,不需要编号的图像,直接点击Insert

流云 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【知识小记】Word转化为高清PDF

知识小记,Word、PDF技巧

风雨潇潇一书生 3353

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《C和指针》小记(1)

《C与指针》阅读心得,用于个人知识梳理

Wangwenshuaicsdn的博客 489

word自带公式批量转成MythType格式的采坑小记

1. 写在前面 这两天写毕设论文修改格式,原先使用的是word自带的公式,结果发现有两个问题: 无法改变字体,默认是Cambria Math的字体, 但是没法改,但我这边发现都是用的新罗马字体 论文正文行距是22磅的时候,发现公式显示不全 基于以上两个痛点问题,导致我不得不重新修改公式的格式,换成MythType,但我论文里面有超级多的数学公式,寻思着这要是一个个的手敲, 那不得一整天时间, 结果就像看看有没有一键到位的操作。 结果还真有, mathtype有格式转换功能,能一键到位。 But, 我花

Miracle8070 1万+

python区别小记

Python没有主函数,需要自创函数时直接调用就行。

m0_61088872的博客 968

c风格的控制台小记 10.5 2008

读写字符函数:getchar():读取一个字符,送到屏幕,等待键入回车键才会返回结果getche():读取一个字符,送到屏幕,不等待回车键,非标准c定义的getch():读取一个字符,不送回屏幕,不等待回车键,非标准c定义的putchar():向屏幕输出一个字符 读写字符串:gets():读入一个字符串puts():向屏幕写一个字符串 格式化输出: 

dodobear的小窝窝 509

Chrome学习小记2:GN构建系统小记

本文介绍了Chrome构建系统GN的基本概念和使用方法。GN作为Google开发的meta-build系统,专注于快速生成Ninja构建文件,适合大型多平台项目。文章阐述了GN的定位、架构特点,包括声明式构建脚本、依赖图管理、参数配置和模板功能。通过Chrome项目实例,展示了常用命令如生成构建目录、设置参数、查看目标等。最后以一个可执行文件构建配置为例,详细解析了executable、testonly、sources、deps等关键字段的含义和用法。GN在Google生态项目中广泛应用,但需注意其与Nin

charlie114514191的博客 1336

Golang小记

golang笔记备份

m0_66509866的博客 828
上一篇: 读写U盘(FAT32)引导扇区
下一篇: 嵌入式Linux中让应用程序自动启动
asmxpl
博客等级 码龄15年 9粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值