数据类型—基本类型

优质
小牛编辑
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