隐式类型转换

2023-05-16

转换的规则

  1. 若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。

  2. 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

  3. char型和short型参与运算时,必须先转换成int型。

  4. 在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。

转换规则如图:

这里写图片描述

#include<stdio.h>
int main(){
    float PI=3.14159;
    int s1, r=5;
    double s2;
    s1 = r*r*PI;
    s2 = r*r*PI;
    printf("s1=%d, s2=%f\n", s1, s2);
    return 0;
}

运行结果:
s1=78, s2=78.539753

在计算表达式 rrPI 时,r 和 PI 都转换成double类型,表达式的结果也为double类型。但由于 s1 为整型,所以赋值运算的结果仍为整型,舍去了小数部分。

需要注意的

  1. 赋值运算时( doubleint )是将小数部分直接丢掉,而不是按照四舍五入向前舍入。
  2. 无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。

参考【博文】

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐式类型转换 的相关文章

  • iOS 谓词(NSPredicate)

    文档定义 NSPredicate xff1a A definition of logical conditions used to constrain a search either for a fetch or for in memory
  • 在Ubuntu20.04中安装中文输入法

    引言 在Ubuntu系统中 xff0c 无论是写文档还是在程序中写注释 xff0c 都经常需要用到中文输入法 本文简单介绍了三种输入法框架 xff0c 然后详细介绍了在Ubuntu 20 04系统中 xff0c IBus框架和Fcitx框架
  • LED的C语言应用程序

    引言 在本文中 xff0c 用C语言编写一个LED灯的应用程序 xff0c 对文章 基于HDF的LED驱动程序开发 xff08 1 xff09 xff08 2 xff09 中开发的LED灯的驱动程序进行测试 另外 xff0c 在编写LED灯
  • CodeBlocks 快捷键篇(自己整理)

    浏览最近文件 Ctrl 43 Tab 保存当前文件 Ctrl 43 S 保存所有文件 Ctrl 43 Shift 43 S 关闭当前文件 Ctrl 43 W 关闭所有文件 Ctrl 43 Shift 43 W 跳转到上一个函数 Ctrl 4
  • send的 epoll_wait EPOLLOUT事件 与 MSG_WAITALL参数

    1 send 10G的数据 xff0c send返回值不会是10G xff0c 而是大约256k xff0c 表示你只成功写入了256k的数据 接着调用send xff0c send就会返回EAGAIN xff0c 告诉你socket的缓冲
  • Linux Crontab 设置的定时任务没有启动的排查

    1 先手动执行定时任务以此来判断脚本是否有问题 2 确认服务器是否开启定时任务计划服务 命令 xff1a service crond status service crond span class hljs operator span cl
  • 一键显示电脑IP

    1 新建文本文档 gt 将步骤2的内容存入 2 echo off ipconfig all pause exit 3 另存为 gt 扩展名为bat
  • UITextView 设置行高 并限制字数 并在键盘遮挡时向上移动

    首先添加监听 NSNotificationCenter defaultCenter addObserver self selector 64 selector textFiledEditChanged name 64 34 UITextVi
  • iOS UIAlertController

    运行环境 xff1a Xcode7 2 1 xff0c iOS Simulator9 2 语言 xff1a Objective C Swift 关于UIAlertController的使用 xff0c 主要有三种不同的方式 xff1a 1
  • 梯度直方图(HOG,Histogram of Gradient)

    1 介绍 HOG xff08 Histogram of Oriented Gradient xff09 是2005年CVPR会议上 xff0c 法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子 xff
  • 为网安人士定制 | 基于Windows ICS的Kali-Weidows0.1版本制作成功并可以使用

    说明 xff1a Kali Weidows是基于ICS Windows的修改版 xff0c 一个渗透测试专用windows xff0c ICS相较于常见的Windows各版本添加了大量渗透工具 xff0c 而Kali Weidows在此基础
  • 如何把一个输入字符串转换成枚举类型

    今天学习了枚举类型 xff0c 记录如下 枚举的作用 1 xff09 限制用户不能随意赋值 xff0c 只能在定义枚举时列举的值中选择 2 xff09 无需记住每个值是什么 xff0c 只需要 选择相应的值 注意 xff1a 定义枚举时 x
  • 【论文学习】Bringing Old Photos Back to Life

    fishing pan xff1a https blog csdn net u013921430 转载请注明出处 前言 最近在浏览CVPR2020年的文章 xff0c 1000多篇真的看不完 xff0c 简单的浏览了几篇都觉得缺点意思 起初
  • frp实现内网穿透功能

    frp实现内网穿透功能 frp原理 xff1a 上面frpc ini的rdp smb字段都是自己定义的规则 xff0c 自定义端口对应时格式如下 xxx 表示一个规则名称 xff0c 自己定义 xff0c 便于查询即可 type 表示转发的
  • 【Docker】docker build与Dockerfile的实践

    基础 docker build 命令用于使用 Dockerfile 创建镜像 xff1b Dockerfile可以是本地的 也可以是在线的 自定义的 xff1b 语法 docker build OPTIONS PATH URL OPTION
  • 威联通硬盘休眠并添加开机自启动

    工具准备 xff1a 需要ssh工具和sftp工具 xff0c 常用的有PuTTY xff0c WinSCP等 我用的是MobaXterm xff0c 图它界面好看 解决思路 xff1a 1 把机械盘移出raid9和raid13 xff1b
  • ios 集成百度地图(获取定位,反向地理编码)

    新版地址 https blog csdn net u013983033 article details 109598248 原因 xff1a 之所以使用百度地图 xff0c 是因为当时使用苹果自带的定位给后台传经纬度 xff0c 后台用百度
  • 关于chrome找不到js文件的问题

    前提 jsp中采用引入的方式 lt script src 61 34 lt 61 path gt js xxx js 34 type 61 34 text javascript 34 gt lt script gt 然后通过地址静态访问是可

随机推荐

  • sqlserver中将sql查询结果转换成Json(互转)

    详细见 xff1a Work with JSON data SQL Server Microsoft Docs 版本支持 xff1a SqlServer2016及以后版本才支持Json 1 Json gt Table 方式一 xff1a 简
  • 树莓派无线网络配置

    原文 xff1a 树莓派连接WiFi 需科学上网 1 无线连接 这里介绍一种嵌入式业界常用的WiFi连接方法 xff0c 可完全应用于树莓派 xff0c 实现WiFi的方便 稳定连接 xff1a 同时保存多个WiFi用户名和密码可设置连接优
  • linux开启启动数字小键盘,适用于使用systemd的系统

    1 创建脚本文件 usr bin numlock span class token comment bin bash span span class token keyword for span span class token funct
  • 远程连接树莓派桌面xrdp

    本文主要介绍如何通过xrdp服务远程桌面连接树莓派 xff0c 实现树莓派的远程桌面登录 xff08 1 xff09 安装tightvncserver sudo apt get install tightvncserver 1 xff08
  • archlinux安装virtualbox

    1 安装基本包 span class token function sudo span pacman S virtualbox 选择virtualbox host modules arch模块 span class token functi
  • 因修改/etc/sudoers权限导致sudo和su不能使用问题

    现象描述及问题解决 真是闲来无事手贱 xff0c 作死的节奏 xff0c 请不要问我为什么 xff0c 我也想知道为什么 为了给一个账户添加能使用 sudo的权限 xff0c 修改了 exc sudoers文件权限 修改完之后发现所有的账户
  • Qt6.2.1编译

    我用的是ubuntu20 04 ubuntu只需要按最小需要安装 xff0c 不需要安装系统更新 先更新apt get的源 cd etc apt xff0c 将source list文件内容改为阿里云源 xff1a 添加阿里源 deb ht
  • iOS Swift 运算符错误问题

    1 在Swift中 xff0c 等号两边必须空格隔开 例如下面的代码会报错 xff1a let sum 61 1 43 2 let sum 61 1 43 2 上面报如下错误 xff1a xff1d must have consistent
  • linux下普通用户执行root权限脚本

    1 安装expect yum install y expect 2 示例 a admin切换root用户脚本 span class token shebang important usr bin expect span span class
  • pve-ceph命令行安装

    用这个安装ceph成功 xff0c 如果安装报错可以多试几次 root 64 pve01 etc apt sources list d more ceph list deb http download proxmox com debian
  • 通过反射获取类和父类的属性和属性值

    通过反射我们可以获取到一个类的属性和方法 但获取父类的private的属性却不可以直接获取 需要递归调用superclass来获取属性 SuperClass java public class SuperClass private Stri
  • 利用旧电脑搭建NAS(黑群晖)

    准备工作 硬件 物品描述U盘 2个1个用来安装nas系统 xff0c 一个做成pe盘引导旧电脑启动旧电脑1个用来搭建nas任意可用电脑1个用户调试nas 软件 名称描述芯片无忧查询u盘的PID VIDOSFMount用于引导img映像文件W
  • vue3-elementPlus 大合集

    elementPlus 的 导入 第一步 安装 也可以直接 cdn 导入 npm install element span class token operator span plus span class token operator s
  • Debian用apt-get 安装软件时出现的问题!

    本想安装个搜狗输入法 xff0c 用dpkg命令安装的 xff0c 但这种安装方式不会自动安装依赖 xff0c 结果不仅没装成功 xff0c 以后使用apt get命令总会报下面这种缺少依赖的问题 root 64 debian apt ge
  • Flutter和Rust如何优雅的交互

    前言 文章的图片链接都是在github上 xff0c 可能需要 你懂得 xff1b 本文含有大量关键步骤配置图片 xff0c 强烈建议在合适环境下阅读 Flutter直接调用C层还是蛮有魅力 xff0c 想想你练习C 43 43 xff0c
  • samba服务配置

    Tip xff1a 1 centos7访问win10共享目录时 xff0c 可能需要指定协议版本 xff0c 默认版本过低 可能无法访问 xff1b 参考链接 xff1a http www mamicode com info detail
  • 阿里云网站备案-注销备案的办法

    当我们因为各种原因要注销备案时 xff0c 可能会遇到以下这些问题 那么老魏汇总了相关答案 xff0c 并且列出来给大家参考用 1 注销主体与注销网站的区别 网站备案分成两部分 xff0c 一部分是备案主体 xff08 个人或企事业单位 x
  • nodeJs(多行数据删除)

    nodeJs 多行数据删除 由于要删除多行数据 xff0c 前台就会要传多条数据到后台 xff1b 1 ajax多次发送数据到后台 xff1f 1 一般不会用这种方法 xff0c 我们要避免ajax与后台交互的次数 2 数组的传送 xff1
  • 【洛谷】P1593 因子和

    洛谷P1593 因子和 题目描述 输入两个整数 a 和 b xff0c 求 a b a b a b 的因子和 由于结果太大 xff0c 只要输出它对 9901取模的结果 输入格式 仅一行 xff0c 为两个整数 a 和 b 输出格式 输出一
  • 隐式类型转换

    转换的规则 若参与运算的数据类型不同 xff0c 则先转换成同一类型 xff0c 然后进行运算 所有的浮点运算都是以双精度进行的 xff0c 即使仅含float单精度量运算的表达式 xff0c 也要先转换成double型 xff0c 再作运