|
邀请回答
我学过C#和C语言。但用ST语言类型转换,发现没法强制类型转换。
报左值类型和右值类型不匹配错误。
实在不会强制类型转换,所以使用C语言的共用体来解决:
//共用体:万能转换器 作者:LSP电工:祁成 2023-6-9
//(共用同一个物理地址)
//说明: 1把牛牵进去,机器出来火腿肠;2把火腿肠扔进去,机器能把牛吐出来。
- //共用体:万能转换器 作者:LSP电工:祁成 2023-6-9
- //(共用同一个物理地址)
- //说明: 1把牛牵进去,出来火腿肠;2把火腿肠扔进去,机器能把牛吐出来。
- TYPE conver :
- UNION
-
- // 内存地址
- uuBYTES :ARRAY[0..99] OF BYTE:=[123];// 1字节没意义,数组不能超索引,string81,wstring162字节
- // 负数
- uuSint1:SINT;// 1字节 -128~127(存:1元手续费,去高位,按位取反)
- uuINT2 :INT :=-345;// 2字节 -32768~32767(取:1元利息,去高位,按位取反)
- uuDint4:DINT:=-456;// 4字节 -2147483648~2147483647
- uuLint8:LINT;// 8字节 -2e63 ~ 2e63-1
- // 小数
- uuReal4:REAL; // 4字节 -1.401e45 ~ 3.403e38
- uuLreal:LREAL; // 8字节
- // 正数
- uuByte1 :BYTE :=123;// byte 0~255
- uuUsint1:USINT:=234;// 1字节 0~255
- uuUINT2:UINT :=345;// 2字节 0~65535
- uuUdint4:UDINT:=456;// 4字节 0~4294967295
- uuUlint:ULINT; // 8字节 0~2e64-1
- // 字正数(备用正数)
- uuWORD2:WORD;// 2字节
- uuDword4:DWORD; // 4字节
- uuLword8:LWORD;// 8字节
- // 符号图(汉字编码)
- uuSTR1:STRING(81):='QiCheng1989';// 81-84字节 元素步长1字节(不能中文)
- uuWSTR2:WSTRING(162):="LSP电工:祁成1989";// 162-164字节 元素步长2字节(可以表示汉字)
- // 时间
- uuTime4:TIME;// 毫秒
- uuLtime8:LTIME;// 纳秒 8字节
- uuDate4:DATE;// 天数
- uuTimeofDay4:TIME_OF_DAY; // 4字节
- uuDateandTime:DATE_AND_TIME;// 8字节
-
- //====================================================================
- // 扩展添加。。。。。。
- // 需要的新类型,添加进来
- END_UNION
- END_TYPE
- //====================变量区
- look: conver ;
- looklen:INT;
- lookNUM2:ARRAY[0..99]OF UINT;
- lookword2:ARRAY[0..99]OF WORD;
- lookDword4:ARRAY[0..99]OF DWORD;
- lookSTR:STRING ;
- lookWstr:WSTRING;
- //================程序区
- looklen:=SIZEOF(look);// 81-82,82-84 ,162-164字节
-
- lookNUM2[0]:=look.uuByte1;// byte
- lookNUM2[1] := look.uuBYTES[0]; // array-byte
- lookNUM2[2] := look.uuBYTES[1];
- lookNUM2[3] := look.uuUINT2;// uint16
- lookNUM2[4] := look.uuINT2;// int16
-
- lookword2[0]:= look.uuWORD2;// word16
- lookDword4[0]:=look.uuDword4;// Dword32
-
- lookSTR := look.uuSTR1;//ASCii 排序 DCBA
- lookWstr:=look.uuWSTR2;//Unicode
复制代码 成员索引请按需求调节字节。因为数组不能超出索引值。以免不能截取。
有哪位老哥知道ST强制转换,不丢精度的,请留言。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册 
x
|