数据类型—基本类型
优质
小牛编辑
148浏览
2023-12-01
着色器语言GLSL的基本数据类型和C语言一样具有常见的整型数int
、浮点数float
和布尔值bool
类型数据。
关键字 | 数据类型 | 值 |
---|---|---|
bool | 布尔值 | 布尔变量值为true或false |
int | 整型数 | 值为整数,比如0,1,2,3... |
float | 单精度浮点数 | 浮点数用小数点表示,比如0.6,3.14,2.8 |
// bool关键字声明一个数据类型是布尔值的变量,并赋值为true
bool lightBool = true;
// 改变变量的值
lightBool = false;
// 着色器语言定义一个整形常量
int count = 10;
// 改变变量count的值
count = 20;
// 定义一个浮点数变量num,并赋值10.0
float num = 10.0;
-注意:编程的时候,如果浮点数刚好是0、1等整数值,要注意书写为0.0,1.0,不能省略点,如果直接写0、1等形式,系统会识别为整型数,进行运算的过程中,如果把数据类型搞错可能会报错。
错误赋值方式
float num = 1;
正确赋值方式
float num = 1.0;
赋值
声明可以一个变量,可以先声明后复制,也可以声明的时候直接赋值
// 定义一个浮点数变量
float num = 10.0;
// 给变量赋值10.0
num = 10.0;
// 声明变量的同时赋值
float num = 10.0;
数据类型转换
整型数int
、浮点数float
、布尔值bool
三种不同的数据值可以相互转化,把一个类型转化为另一个类型通过相应的内置函数int()
、float()
、bool()
实现。
转化 | 函数 | 规则 |
---|---|---|
浮点数转整型数 | int(10.1) | 直接把浮点数部分去掉,10.1转化为10 |
整型数转浮点数 | float(10) | 整型数直接转化为浮点数10.0 |
数子转布尔值 | bool(10) | 0或0.0转化为false,非0或非0.0转化为true |
布尔值转整型数 | int(true) | false转化为0,true转化为1 |
布尔值转浮点数 | float(true) | false转化为0.0,true转化为1.0 |
//声明一个整型数变量num,并赋值1
int num = 1;
// 整型数num转化为浮点数fnum
float fnum = float(num);
//声明一个浮点数变量fnum,并赋值1.0
float fnum = 1.08;
// 浮点数转化整型数
int inum = int(num);//转化结果1