在开发时如何决定使⽤哪种数据类型?

一、问题

        程序中的每个数据都必须有明确的数据类型,那么在开发时如何决定使⽤哪种数据类型呢?

二、解答

        1、如果需要的数⼤于32767 或者⼩于-32767,就应该使⽤ long 型。

        2、如果有⼤数组或很多结构,就使⽤ short 型。除了上述两种情况外,使⽤ int 型。

        3、如果严格定义的溢出特征很重要⽽负值⽆关紧要,或者期望在操作⼆进制位和字节时避免符号扩展的问题,就使⽤对应的⽆符号类型。需要注意的是,在表达式中混⽤有符号和⽆符号值的情况。

        4、对于字符型可以当作⼩的整型使⽤,但是由于不可预知的符号扩展和代码的增加,会使数据丢失,此时使⽤⽆符号字符型会更恰当些。

        5、如果需要使⽤⼩数,就使⽤浮点类型。如果要求⼩数点后精确⾄少10位,就使⽤ double 型;

        6、如果要求⼩数点后更加精确,即有效位超过10 位,那么就使⽤ long double 型。

除了这两种情况外,使⽤ float 型。

注意:
unsigned 和 signed 不能修饰浮点类型。

三、总结

        从上⾯的讲解中可以知道什么情况使⽤什么类型的数据。

        在C语⾔程序中,对于特定的数值应定义相应的数据类型,因此要了解各个数据类型的范围,才有利于数据的存储与运算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装rlwrap库出现问题

背景:oracle的sqlplus还是那么难用,不知道为什么不打包解决这个问题,留给用户,内核硬,就是猖狂。废话不多说。下载解压rlwrap-0.46.1.tar.gz;进入/tmp/database/rlwrap-0.46.1源码包,./configure checki…

Ubuntu按转发HDF5

源码编译流程 下载源代码 wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_14_3/src/hdf5-1.14.3.zip 解压 unzip hdf5-1.14.3.zip 进入解压后的目录 cd hdf5-1.14.3 编译 依次执行下面的命令 ./configure --prefix/usr/local/hdf5…

RT-Thread基于AT32单片机的CAN应用

1 硬件电路 2 RT-Thread驱动配置 RT-Studio中没有CAN相关的图形配置,需要手动修改board.h。在board.h的末尾,增加相关的BSP配置。 #define RT_CAN_USING_HDR #define BSP_USING_CAN13 IO配置 at32_msp.c中的IO配置是PB9和PB10,掌上实验室V…

Pandas实战100例 | 案例 39: 日期时间索引

案例 39: 日期时间索引 知识点讲解 当你的 DataFrame 有一个 datetime 类型的索引时,你可以利用这个索引来选择特定日期或日期范围的数据。这在时间序列数据分析中非常有用。 日期时间索引: 如果 DataFrame 的索引是 datetime 类型的,你可以使用日期字…

轻松掌握构建工具:Webpack、Gulp、Grunt 和 Rollup 的使用技巧(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

MySQL索引优化实战

联合索引第一个字段用范围不会走索引 type all EXPLAIN SELECT * FROM employees WHERE name > LiLei AND age 22 AND position manager; 因为MySQL有自己的优化机制,当索引中第一个字段是 大于 小于 那么MySQL就会认为会扫描出很多条数据 并且是二级索引可…

EtherCAT主站SOEM -- 16 --Qt-Soem通过界面按键控制电机转圈圈PV模式

EtherCAT主站SOEM -- 16 --Qt-Soem通过界面按键控制电机转圈圈 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载1 程序文件修改替换1.1 allvalue.h1.2 motrorcontrol.h1.3 mainwindow.cpp1.4 motrorcontrol.cpp2 ui界面显示该文档修改记录:总结上下…

STM32——高级定时器输出指定个数PWM波原理及实战

1.高级定时器简介(TIM8、TIM1) 相比于通用定时器特性: 1)重复计数器 2)死区时间带可编程的互补输出 3)断路输入,用于将定时器的输出信号置于用户可选的安全配置中 2.高级定时器框图 3.重复计数…

Sectigo增强型多域名SSL证书买一年送一月

Sectigo EV增强型多域名SSL证书是一种高安全性的数字证书。相比于DV基础型的多域名SSL证书和OV企业型的多域名SSL证书,EV增强型多域名SSL证书功能更多、安全等级更高,但是相应的,这款SSL证书的审核也比较严格。今天就随SSL盾小编了解Sectigo旗…

Oracle篇—实例中和name相关参数的区别和作用

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

基于JAVA开发的数字化智慧工地管理平台源码,可私有化部署、带可视化大屏

智能工地应用价值 智慧工地现场构建了基于物联网的智能化数据传感器通用的管理平台。利用计算机、人工智能、无线通信,全天候现场监视、施工检查、质量管理、服务,提高数字化管理、安全、绿色、施工等现场管理能力,标志着现场管理进入信息化时…

YOLOV8在coco128上的训练

coco128是coco数据集的子集只有128张图片 训练代码main.py from ultralytics import YOLO# Load a model model YOLO("yolov8n.yaml") # build a new model from scratch model YOLO("yolov8n.pt") # load a pretrained model (recommended for trai…

20240106----重返学习-在VMware里给centos7设置静态IP地址

在VMware里给centos7设置静态IP地址 场景 学习nginx中,想要设置静态IP地址,以便让win10主环境中的Xshell里能够连接到VMware中的CentOS7上,进而可以在Xshell里进行操作。可以做到如复制粘贴之类的,而不是在虚拟机中的默认终端上…

css如何让两个元素在同一水平线上(文字和svg图片)

一开始写发现这两者不在同一水平线 起初用margin-top margin-bottom来协调 发现效果并不好 1:写法僵硬 2:margin会把div撑破,达不到预期效果(padding也是) 3. 加了flex布局 之后, 因为我这个是在表格里面,无法居中…

实录分享 | 央企大数据平台架构发展趋势与应用场景的介绍

分享嘉宾: 孟子涵-中国华能集团信息中心平台架构师 2021年华能就与Alluxio建立了合作,共同写了整个华能统一纳管的架构方案。这个方案我认为是现在我们在央企里边比较核心的一套体系,能让全集团所有我们认为重要的数字化资源实现真正的统一集…

Laravel中的lockForUpdate悲观锁

lockForUpdate 是悲观锁,测试就不写了 注意的事项 lockForUpdate 必须在事务中lockForUpdate 被阻塞的查询必须是同样添加了lockForUpdate的语句查询语句走索引,则使用行锁,否则使用表锁 现在举例说明第一项和第二项 开启事务并添加锁 pub…

【K8s学习】

k8s的简单执行流程: Kubernetes Master(API Server、Scheduler等组件)负责调度Pod到合适的Node上。 当Pod被调度到某个Node时,该Node上的kubelet代理会收到指令并开始执行Pod的生命周期管理任务,包括创建、监控和终止P…

第8章-第4节-Java中字节流的缓冲流

1、缓冲流:属于高级IO流,并不能直接读写数据,需要依赖于基础流。缓冲流的目的是为了提高文件的读写效率?那么是如何提高文件的读写效率的呢? 在内存中设置一个缓冲区,缓冲区的默认大小是8192字节&#xff…

第 3 章 Keepalived 双机热备

技能展示: 会构建双机热备系统 会构建 LVSHA 高可用群集 在这个高度信息化的 IT 时代,企业的生产系统、业务运营、销售和支持,以及日常管理等环节越来越依赖于计算机信息和服务,对高可用(HA)技术的应用需求…

Nginx+Tomcat负载均衡、动静分离以及Nginx负载均衡和四层代理

目录 NginxTomcat负载均衡、动静分离 Nginx 负载均衡模式: Nginx 四层代理配置: NginxTomcat负载均衡、动静分离 Nginx 服务器:192.168.80.10:80 Tomcat服务器1:192.168.80.100:80 Tomcat服务器2:192.168.80.101:80…