【005】C++数据类型之实型(浮点数)、有符号数以及无符号数

news2024/11/20 19:29:00

C++数据类型之实型、有符号数以及无符号数

  • 引言
  • 一、实型(浮点数)
    • 1.1、实型常量
    • 1.2、实型变量
  • 二、有符号数
  • 三、无符号数
  • 总结

引言


💡 作者简介:专注于C/C++高性能程序设计和开发,理论与代码实践结合,让世界没有难学的技术。包括C/C++、Linux、MySQL、Redis、TCP/IP、协程、网络编程等。
👉
🎖️ CSDN实力新星,社区专家博主
👉
🔔 专栏介绍:从零到c++精通的学习之路。内容包括C++基础编程、中级编程、高级编程;掌握各个知识点。
👉
🔔 专栏地址:C++从零开始到精通
👉
🔔 博客主页:https://blog.csdn.net/Long_xu


🔔 上一篇:【004】C++数据类型之字符类型(char)详解

一、实型(浮点数)

浮点数能够表示小数部分的数值,如 3.1415、10238.234。

计算机将这样的值分为两部分存储,一部分表示值,另一部分用于对值进行放大或缩小。如数值3.1415可以看成0.31415(基准值)和100(缩放因子)。缩放因子的作用是移动小数点的位置,术语浮点因此而得名。

C++内部表示浮点的方法与上述相同,只不过它是基于二进制数,缩放因子是2的幂而不是10的幂。浮点数能够表示小数值、非常大的值和非常小的值,它们的内部表示方法与整型有很大区别。

实型分为:单精度浮点数(float,占4字节)和双精度浮点数(double,占8字节)。

1.1、实型常量

  • 不以f结尾的实型常量是double类型,如3.1415。
  • 以f结尾的实型常量是float类型,如3.1415f。
  • 指数形式:123e3表示 123 ∗ 1 0 3 123*10^3 123103

1.2、实型变量

C++实型变量是指具有小数点的数值类型,包括单精度浮点数(float)、双精度浮点数(double)和长双精度浮点数(long double)三种。这些变量可以存储任意大小的实数,但由于计算机内部表示的限制,其精度和范围是有限的。在C++中,实型变量使用浮点数表示法来存储,即采用科学计数法的形式表示。例如,3.14可以表示为3.14e0或者314e-2。在定义实型变量时,需要指定变量类型,并且可以给变量赋初值。例如:

float f = 3.14f;
double d = 1.23456789123456789;
long double ld = 1.23456789123456789123456789L;

其中,f是单精度浮点数,d是双精度浮点数,ld是长双精度浮点数。注意,在给长双精度浮点数赋值时要加上后缀L,以区分其他两种浮点数。

二、有符号数

C++中,有符号整数类型表示可以表示正数、负数和零的整数,而无符号整数类型则仅表示非负整数(即0和正整数)。

数据二进制的最高位为符号位,其他位为数据位。最高位为1表示负数,最高位为0表示正数。

一字节的有符号数取值范围为-128~127。
注意:将-0看成-128。

定义无符号数:
(1)方式一:默认方式(推荐)。

int num;

(2)方式二:使用关键字signed。

signed int num;

三、无符号数

没有符号位,所有二进制都是数据位。在同样的位宽下,无符号整数类型可以表示的最大值是有符号整数类型的两倍,但不能表示负数。

一字节的无符号数取值范围为0~255。

定义无符号数: 使用关键字unsigned。

unsigned int num;

总结

  1. 实型数据类型:指具有小数点的数字,包括float、double和long double三种类型。
  • float:单精度浮点数,占用4个字节。
  • double:双精度浮点数,占用8个字节。
  • long double:扩展精度浮点数,占用16个字节。
  1. 有符号数:指可以表示正数、负数和0的数字,包括char、short、int和long四种类型。
  • char:字符类型,通常占用一个字节,取值范围为-128到127或0到255。
  • short:短整型,占用2个字节,取值范围为-32768到32767。
  • int:整型,占用4个字节,取值范围为-2147483648到2147483647。
  • long:长整型,占用4个字节或8个字节,取值范围为-2147483648到2147483647或-9223372036854775808到9223372036854775807。
  1. 无符号数:指只能表示非负数(0及正整数)的数字,包括unsigned char、unsigned short、unsigned int和unsigned long四种类型。
  • unsigned char:无符号字符类型,占用一个字节,取值范围为0到255。
  • unsigned short:无符号短整型,占用2个字节,取值范围为0到65535。
  • unsigned int:无符号整型,占用4个字节,取值范围为0到4294967295。
  • unsigned long:无符号长整型,占用4个字节或8个字节,取值范围为0到4294967295或0到18446744073709551615。

需要注意的是,在使用实型、有符号数和无符号数时,应该根据需要选择合适的数据类型,避免数据溢出和精度损失的问题。同时,在进行数据类型转换时,也应该注意数据范围和精度的差异,避免数据丢失或产生错误的结果。
在这里插入图片描述

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

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

相关文章

Eolink 出席 QECon 深圳站,共同探讨软件质量和效能发展

5月12日至13日,由 QECon 组委会和深圳市软件行业协会联合主办的「QECon全球软件质量&效能大会」成功召开,作为国内 API 全生命周期解决方案的领军者,Eolink 受邀参加此次大会。 大会中,Eolink SaaS 产品负责人崔嘉杰、高级售…

《思考致富》不应该指望不经历“暂时的失败”便能发财

目录 作者简介 经典摘录 机遇有个狡猾的习惯,喜欢从后门悄悄溜进来,往往还喜欢以灾难或暂时失败的方式乔装露面 离金矿仅有三英尺远 欲望:成就一切的起点(通往致富之路的第一步) 信念:在脑海里目睹并坚…

网络安全萌新先学什么?后学什么?

在选择网络安全行业之前,我们要弄清楚,要问一下自己的内心,自己为什么要进入这个行业?每个人的答案肯定是不一样的。 肯定有人会说:这个行业比很多其他行业更赚钱 有人会说:对网络安全技术非常感兴趣 有人会…

Web3和低代码开发:下一代Web应用开发的合作与创新

Web3作为区块链技术的一部分,被认为是下一代互联网技术的主要方向。与此同时,低代码开发作为快捷而高效的软件创建工具,也一直得到广泛关注。那么,Web3和低代码开发如何合作,激发出下一代Web应用开发的新生力量呢&…

前端性能优化:如何提高页面加载速度和用户体验

第一章:介绍 当今互联网时代,网站的性能对于用户体验至关重要。一个快速加载的网页不仅能提高用户的满意度,还能增加页面的转化率。而在前端开发中,性能优化是一个永恒的话题。本篇博客将为大家分享一些关于前端性能优化的技巧和…

红色元宇宙数字展厅:三维构建身临其境的红色历史之旅

导语:红色,是中国革命的象征,是我们历史中最为壮丽的篇章之一。然而,随着时间的推移,许多珍贵的红色记忆逐渐模糊,年轻一代对于红色历史的认知也渐行渐远。 红色元宇宙数字展厅,作为一种全新的互…

2023年软件测试前景?自动化测试的未来?我的测试之路高歌猛进...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…

网络计算模式复习(五)

结构化P2P&#xff1a;直接根据查询内容的关键字定位其索引的存放节点 DHT算法 将内容索引抽象为<K,V>对 K是内容关键字的Hash摘要&#xff1a;KHash(key) V是存放内容的实际位置&#xff0c;例如节点IP地址等所有的<K,V>对组成一张大的Hash表&#xff0c;该表存…

异地远程连接威联通NAS,无需公网IP

文章目录 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 转载自远程内网穿透的文章&#xff1a;无需公网IP&#xff0c;在外远程访问NAS威联通QNAP【…

当程序员这么多年,为什么我还只会复制粘贴?

如果问程序员&#xff1a;最熟练的快捷键是哪两个&#xff1f; 程序员&#xff08;脱口而出&#xff09;&#xff1a;ctrlc 和 ctrlv &#xff01;即复制和粘贴。 对于为数不少的程序员来说&#xff1a;天下代码不过一个“抄”字&#xff0c;复制和粘贴就是他们创造伟大产品的…

内网渗透—代理Socks协议、路由不出网、后渗透通讯、CS-MSF控制上线

内网渗透—代理Socks协议、路由不出网、后渗透通讯、CS-MSF控制上线 1. 前言1.1. 实验背景1.2. 环境准备1.2.1. 环境介绍1.2.2. 环境测试1.2.2.1. 攻击机测试1.2.2.2. Windows20081.2.2.3. Windows20031.2.2.4. Windows20121.2.2.5. Windows7 1.3. 技术介绍1.3.1. 隧道技术1.3.…

六轴传感器基础知识学习:MPU6050特性,四元数,姿态解算,卡尔曼滤波

实际上&#xff0c;只要说到多少轴的传感器一般是就是指加速度传感器&#xff08;即加速计&#xff09;、角速度传感器&#xff08;即陀螺仪&#xff09;、磁感应传感器&#xff08;即电子罗盘&#xff09;。这三类传感器测量的数据在空间坐标系中都可以被分解为X,Y,Z三个方向轴…

第一章 线性模型

目录 一、线性模型基本概念二、梯度下降三、反向传播四、使用 Pytorch 实现线性模型 一、线性模型基本概念 线性模型&#xff1a; y ^ x ∗ ω b \hat{y} x * \omega b y^​x∗ωb 简化版本&#xff0c;将 b b b 加入到权重矩阵 ω \omega ω 中&#xff1a; y ^ x ∗…

新榜 | “淄博”现象专项观察报告

在过去的一个月中&#xff0c;淄博烧烤的相关话题霸屏网络&#xff0c;这些媒介话题里承载了多少受众的向往与想象&#xff1f; 根据2022年淄博市文旅局公开年报&#xff0c;去年&#xff0c;淄博官方就着力融媒体&#xff0c;在抖音、快手等平台创新使用“淄博到底有多牛”主题…

javascript-核心知识总结

目录 &#xff08;一&#xff09;DOM基础 1、DOM对象 2、节点类型 3、获取元素 4、创造元素 5、插入元素 6、删除元素 7、复制元素 8、替换元素 &#xff08;二&#xff09;DOM进阶 1、用DOM对象对HTML属性操作 2、用DOM对象对CSS操作 3、DOM查找&#xff08;遍历&…

浅析基于AI智能识别技术边缘计算硬件在智慧食安监管场景中的应用

一、背景分析 自2014年开始&#xff0c;国家市场监督管理总局在强化企业主体责任、严格实施全过程监管、创新监管方式的方针下&#xff0c;推行“互联网明厨亮灶"工程建设。系统以四个端为整体规划&#xff0c;实现亮后厨、亮证、亮照、亮评估&#xff0c;通过以网管网措…

微信小程序xr-frame实现多光源效果

1.基础知识&#xff1a; 灯光 灯光组件Light用于给场景提供照明&#xff0c;也是阴影的核心。相机组件一般被代理到灯光元素XRLight中使用&#xff0c;其派生自XRNode&#xff0c;对应在xml中的标签为xr-light。 主光源以及参数 类型uniforms宏说明书写环境光颜色和亮度u_a…

Linux Shell 实现一键部署virtualbox

VirtualBox 前言 VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发&#xff0c;由Sun Microsystems公司出品的软件&#xff0c;使用Qt编写&#xff0c;在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public Licens…

从零开始 Spring Boot 30:数据校验

从零开始 Spring Boot 30&#xff1a;数据校验 图源&#xff1a;简书 (jianshu.com) 在从零开始 Spring Boot 13&#xff1a;参数校验 - 红茶的个人站点 (icexmoon.cn)一文中&#xff0c;我讨论了一些可以用于参数校验的注解。实际上这些注解都是来自于Jakarta Bean Validatio…

第7章异常、断言和曰志

Java和C异 在C中&#xff0c;throw说明符在运行时执行。Java在编译时执行。 处理错误 异常处理的任务就是将控制权从产生错误的地方转移到能够处理这种情况的错误处理器。 如果由于出现错误而使得某些操作没有完成&#xff0c;程序应该&#xff1a;返回到一种安全状态&#…