【03】C语言 强制类型转换 与 进制转换

【03】C语言 强制类型转换 与 进制转换

文章目录

  • [1. 强制类型转换](#1. 强制类型转换)
  • [2. 进制转换](#2. 进制转换)
    • [2.1 使用不同进制输出整数](#2.1 使用不同进制输出整数)
    • [2.2 使用不同进制表示整数](#2.2 使用不同进制表示整数)

1. 强制类型转换

① 当运算中包含浮点数时,运算结果将会是浮点型;
② 而当运算中只包含整数时,运算结果也会是整数。
③ 在除法运算中,当进行整数除法时,如果两个操作数都是整数,则运算结果也会是整数,并向下取整;

计算过程中可以使用强制类型转换的方法来强制转换变量的类型。

代码示例:

c 复制代码
int main(){
    int a=5;
    int b=2;
    float c=5.0;
    float d=2.0;
    float e=a/b;
    float f=a/d;
    float g=c/b;
    float h=c/d;
    printf("%f\n",e);   //2 在除法运算中,当进行整数除法时,如果两个操作数都是整数,则运算结果也会是整数,并向下取整;
    printf("%f\n",f);   //2.5
    printf("%f\n",g);   //2.5
    printf("%f\n",h);   //2.5
    printf("==================================\n");
    
    //使用强制类型转换
    printf("使用强制类型转换:\n");
    float i=(float)a/b;
    float j=a/(float)b;
    printf("%f\n", i);
    printf("%f\n", j);
    return 0;
}

输出结果:

复制代码
2.000000
2.500000
2.500000
2.500000
==================================
使用强制类型转换:
2.500000
2.500000

2. 进制转换

2.1 使用不同进制输出整数

c 复制代码
#include <stdio.h>

int main() {
    printf("%d\n", 123); // 默认10进制
    printf("%o\n", 123); // 8进制
    printf("%x\n", 123); // 16进制
    return 0;
}

输出结果:

复制代码
123
173
7b

2.2 使用不同进制表示整数

(1)二进制:以0b或0B开头表示。

(2)十进制:正常数字表示。

(3)十六进制:以0x或0X开头表示,此处的A-F不区分大小写。

使用不同进制表示整数 ,并都以十进制形式输出:

c 复制代码
#include <stdio.h> 
 
int main() 
{ 
    int num1 = 0b10; // 二进制 
    int num2 = 210;  // 十进制 
    int num3 = 0x1f; // 十六进制 
 
    printf("num1=%d \n", num1); 
    printf("num1=%d \n", num2); 
    printf("num1=%d \n", num3); 
 
    return 0; 
} 

输出结果:

复制代码
num1=2 
num1=210 
num1=31 

相关推荐
草履虫建模6 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq8 小时前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq8 小时前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
学嵌入式的小杨同学8 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
爱吃rabbit的mq9 小时前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习
精彩极了吧9 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
(❁´◡`❁)Jimmy(❁´◡`❁)9 小时前
Exgcd 学习笔记
笔记·学习·算法
YYuCChi10 小时前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
不能隔夜的咖喱10 小时前
牛客网刷题(2)
java·开发语言·算法
VT.馒头10 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript