浮點數(shù)常量的存儲方式
發(fā)布于2022-12-13 14:37
21
2
標簽:常量
常量
常量也稱為常數(shù)。常量一經(jīng)聲明后便保持不變,試圖在程序運行過程中修改一個常量的值將會引發(fā)錯誤。S7-200 SMART的很多指令都可以使用常量作為參數(shù),支持的常量形式包括二進制常量、十進制常量、十六進制常量、ASCH常量、字符串常量、實數(shù)常量。
① 二進制常量。二進制常量以標識符“2#”開頭,其數(shù)字基數(shù)為0和1,比如2#1101 1111。它代表的二進制數(shù)為 1101 1111,即十進制數(shù) 223。
注意:常量 2#1101_1111 中的下劃線也可以去掉,寫作 2#11011111,兩種方式都是允許的。下劃線的好處是可以增加程序的可讀性。
② 十進制常量。十進制常量不需要特殊的標識符,直接寫一個數(shù)值即可,比如:2018。
③ 十六進制常量。十六進制常量以標識符“16#”開頭,其數(shù)字基數(shù)為0~9及英文字母A~F。比如:16#1A 1B。它代表的十六進制數(shù)為 IA1B,即十進制數(shù) 6683。
④ ASCII 常量。ASCII 常量是使用英文的單引號包含的常數(shù)字符,比如:“ABC”。
⑤ 字符串常量。字符串常量是使用英文的雙引號包含的字符串,比如:“ABC”。
從外觀上看,ASCII 常量與字符串常量的區(qū)別僅在于前者使用單引號,后者使用雙引號。但是,在PLC的存儲上二者有所不同。以數(shù)據(jù)“ABC”為例,假設(shè)將其有放到地址 VBO,當將其作為 ASCH 常量使用時,它占用三個字節(jié):VB0 存放“A” VB1 存放“B”, VB2 存放“C”。當將其作為字符串常量使用時,它占用四個字節(jié) VB0 存放的是字符串的長度“3”;VB1 存放“A”,VB2 存放“B”,VB3 存放“C如表 3-1 所示。
表3-1 ASCI 常量和字符串常量
在 ASCII 常量和字符串常量中,如果要表示特殊字符,需要用符號“$”轉(zhuǎn)義。比如,要使用一個含有雙引號的字符串 A“BC”D,要寫成“AS”BC$“D”?;蛘咭@示一個字符串“Cost $50”,需要寫成“Cost $$50”。常見的轉(zhuǎn)義字符見表 3-2。
表 3-2 常見轉(zhuǎn)義字符
⑥實數(shù)常量。表達一個十進制的浮點數(shù)。當數(shù)值帶有小數(shù)點時,即被視為實數(shù)常量。比如,可以在數(shù)據(jù)塊表中定義 VD0 為 3.1415926,也可以在某些支持實數(shù)的指令參數(shù)中直接寫人實數(shù)。