【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