容易讓人糊涂的BCD碼和十六進制

發(fā)布時間:2024-03-13
bcd碼(binary-coded decimal‎)是二進制編碼的十進制數(shù)的縮寫,bcd碼用4位二進制數(shù)表示一位十進制數(shù)。bcd碼各位的數(shù)值范圍為2#0000~2#1001,對應于十進制數(shù)0~9。bcd碼不能使用十六進制的a~f(2#1010~2#1111)這6個數(shù)字。bcd碼本質上是十進制數(shù),因此相鄰兩位逢十進一。 bcd碼的最高位二進制數(shù)是符號位,負數(shù)的符號位為1,正數(shù)為0。16位bcd碼的范圍為–999~+999。 下圖的撥碼開關將顯示的數(shù)字轉換為4位二進制數(shù)。plc用12個數(shù)字量輸入點讀取的是3位bcd碼,它的值為2#1000 0010 1001,即十六進制數(shù)16#829。
bcd碼沒有單獨的表示方法,而是借用了十六進制的表示方法,因此二者很容易混淆。 下圖是s7-300/400的bcd碼和整數(shù)的相互轉換指令,可以看到在指令中bcd碼均用十六進制的形式表示。
在程序中,怎么知道一個數(shù)字是bcd碼還是十六進制數(shù)呢?
1)看數(shù)據(jù)的來源和用途。bcd碼一般用于輸入和輸出,例如來自撥碼開關的數(shù)據(jù)是bcd碼,送給顯示電梯樓層的譯碼器芯片的是bcd碼。
2)看手冊的規(guī)定,例如數(shù)據(jù)類型date_and_time中的日期和時間值是bcd碼,計數(shù)器的預設值pv和當前計數(shù)值cv_bcd為bcd碼。 怎樣監(jiān)視bcd碼? 在變量表和程序狀態(tài)監(jiān)控中,用十六進制格式監(jiān)視bcd碼。 怎樣輸入bcd碼? 從上圖可以看出,bcd碼用十六進制格式輸入,其最高位(符號位)為16#f(2#1111)。bcd碼的低3位各位只能是0~9,如果是16#a~16#f則會出錯。 計數(shù)器的預設值pv是0~999的bcd碼,可以用格式為c#的常數(shù)(c#1~c#999)作為計數(shù)器的預設值。
下圖用mw42提供計數(shù)器的預設值pv,如果用move指令將十進制數(shù)348(對應的十六進制數(shù)為16#15c)傳送給mw42,進入run模式時,操作系統(tǒng)將它轉換為bcd碼時出錯(16#15c不是bcd碼),不能切換到run模式。 輸入預設值348時,應改為將c#348傳送給mw42,它會自動地變?yōu)閣#16#348,當然也可以直接輸入16#348。沒有必要用i_bcd指令將348轉換為bcd碼w#16#348后,再傳送給mw42。
上一個:RTT06621JTP現(xiàn)貨庫存,最新價格
下一個:為什么電腦藍屏重啟(為什么電腦藍屏后開不了機)

智能人工氣候箱 HAD-150
搶劫部分犯罪是未成年的如何量刑
臥式電池片拉力試驗機測試操作方法(圖文詳解)
dell emc服務器 從u盤安裝操作系統(tǒng)(dellemc服務器安裝手冊)
網(wǎng)購怎么驗貨,網(wǎng)上買東西如何驗貨
一加7t打字震動(一加 打字震動)
如何防止石斛蘭斑點?。?/a>
訴訟離婚流程需要多長時間
RTT06623JTP現(xiàn)貨庫存,最新價格
用云電腦玩原神會封號嗎(云電腦玩原神卡嗎)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos