0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PLC中常用進(jìn)制及相互轉(zhuǎn)換方法

jf_bq60R2Xt ? 來(lái)源:數(shù)控狂人 ? 作者:數(shù)控狂人 ? 2022-10-17 11:10 ? 次閱讀

數(shù)制也稱(chēng)計(jì)數(shù)制,是用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。

任何一個(gè)數(shù)制都包含兩個(gè)基本要素:基數(shù)和位權(quán)。

基數(shù):數(shù)制所使用數(shù)碼的個(gè)數(shù)。

例如,二進(jìn)制的基數(shù)為2;十進(jìn)制的基數(shù)為10。

位權(quán):數(shù)制中某一位上的1所表示數(shù)值的大?。ㄋ幬恢玫膬r(jià)值)。

例如,十進(jìn)制的123,1的位權(quán)是100,2的位權(quán)是10,3的位權(quán)是1。

二進(jìn)制中的 1011 ,左起第一個(gè)1的位權(quán)是8,0的位權(quán)是4,第二個(gè)1的位權(quán)是2,第三個(gè)1的位權(quán)是1。

PLC中常用的數(shù)制有:十進(jìn)制、二進(jìn)制、十六進(jìn)制、八進(jìn)制等。

此外還有BCD碼和ASCII碼也偶爾會(huì)使用。

十進(jìn)制(Decimal?notation):

如1234=1*103+2*102+3*101+4*100,逢十進(jìn)一,基數(shù)為10,單個(gè)數(shù)是0-9,每位的系數(shù)乘于基數(shù)(10)的N次方,N為其所處的位數(shù)。

二進(jìn)制(Binary?notation):

如1101=1*23+1*22+0*21+1*20=13,逢二進(jìn)一,基數(shù)為2,單個(gè)數(shù)只有0和1, 每位的系數(shù)乘于基數(shù)(10)的N次方,N為其所處的位數(shù)。從第3位至0分別為8,4,2,1,所以二進(jìn)制也成8421碼。如果表示有符號(hào)數(shù),則用最高位表示符號(hào),0為正數(shù)1為負(fù)數(shù)。正數(shù)以二進(jìn)制原碼表示;負(fù)數(shù)則以補(bǔ)碼存儲(chǔ),即將原碼逐位取反再加1。

十六進(jìn)制(Hexdecimal?notation):

逢16進(jìn)1的進(jìn)位制。一般用數(shù)字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,這些稱(chēng)作十六進(jìn)制數(shù)字。

八進(jìn)制(Octal?notation):

逢八進(jìn)一,單個(gè)數(shù)有0-7,在PLC中常用于編址,數(shù)據(jù)運(yùn)算應(yīng)用較少。BCD碼(Binary-Coded Decimal?):亦稱(chēng)二進(jìn)碼十進(jìn)數(shù)或二十進(jìn)制代碼。用4位二進(jìn)制數(shù)來(lái)表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼。通常時(shí)鐘采用BCD碼存儲(chǔ)。

ASCII(American Standard Code for Information Interchange:美國(guó)信息交換標(biāo)準(zhǔn)代碼):

是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言。它是現(xiàn)今最通用的系統(tǒng),并等同于國(guó)際標(biāo)準(zhǔn)ISO/IEC 646。PLC中數(shù)據(jù)存儲(chǔ)只能以0和1形式,其它數(shù)據(jù)可通過(guò)進(jìn)制轉(zhuǎn)換成二進(jìn)制,但是字母和一些特殊符號(hào)用什么表示則需要約定一套轉(zhuǎn)換規(guī)則,于是美國(guó)有關(guān)的標(biāo)準(zhǔn)化組織就出臺(tái)了ASCII編碼。

浮點(diǎn)數(shù)(float):

又稱(chēng)實(shí)數(shù)(REAL),浮點(diǎn)數(shù)是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,在計(jì)算機(jī)中用于近似表示任意某個(gè)實(shí)數(shù)。具體來(lái)說(shuō),這個(gè)實(shí)數(shù)由一個(gè)整數(shù)或定點(diǎn)數(shù)(即尾數(shù))乘以某個(gè)基數(shù)(計(jì)算機(jī)中通常是2)的整數(shù)次冪得到,這種表示方法類(lèi)似于基數(shù)為10的科學(xué)計(jì)數(shù)法。

在二進(jìn)制科學(xué)表示法中:S=M×2^N

主要由三部分構(gòu)成:符號(hào)位+階碼(N)+尾數(shù)(M)。對(duì)于float型數(shù)據(jù),其二進(jìn)制有32位,其中符號(hào)位1位,階碼8位,尾數(shù)23位。

符號(hào)位:0表示正,1表示負(fù)。

階碼:這里階碼采用移碼表示,對(duì)于float型數(shù)據(jù)其規(guī)定的偏置量為127,階碼有正有負(fù),對(duì)于8位二進(jìn)制,則其表示范圍為?128~127。比如,對(duì)于float型數(shù)據(jù),若階碼的真實(shí)值為2,則加上127后為129,其階碼表示形式為10000010。

尾數(shù):有效數(shù)字位,即部分二進(jìn)制位(小數(shù)點(diǎn)后面的二進(jìn)制位),因?yàn)橐?guī)定M的整數(shù)部分恒為1,所以這個(gè)1就不進(jìn)行存儲(chǔ)了。

舉例說(shuō)明

float型數(shù)據(jù)125.5轉(zhuǎn)換為標(biāo)準(zhǔn)浮點(diǎn)格式,125的二進(jìn)制表示形式為1111101,小數(shù)部分表示為二進(jìn)制為 1(小數(shù)部分乘以2,小于1則為0,大于1則為1,小數(shù)繼續(xù)乘以2,直到小數(shù)部分為0為止),則125.5二進(jìn)制表示為1111101.1,由于規(guī)定尾數(shù)的整數(shù)部分恒為1,則表示為1.1111011*2^6,階碼為6,加上127為133,則表示為10000101,而對(duì)于尾數(shù)將整數(shù)部分1去掉,為1111011,在其后面補(bǔ)0使其位數(shù)達(dá)到23位,則為11110110000000000000000。則其二進(jìn)制表示形式為:0 10000101 11110110000000000000000

那么這些進(jìn)制之間是如何轉(zhuǎn)換呢?

1.十進(jìn)制轉(zhuǎn)二進(jìn)制方法為:

十進(jìn)制數(shù)除2取余法,即十進(jìn)制數(shù)除2,余數(shù)為權(quán)位上的數(shù),得到的商值繼續(xù)除2,依此步驟繼續(xù)向下運(yùn)算直到商為0為止。(具體用法如下圖)

1489eaf8-4c75-11ed-a3b6-dac502259ad0.png

2.二進(jìn)制轉(zhuǎn)十進(jìn)制方法為:

把二進(jìn)制數(shù)按權(quán)展開(kāi)、相加即得十進(jìn)制數(shù)。(具體用法如下圖)

149bb4a4-4c75-11ed-a3b6-dac502259ad0.png

3.二進(jìn)制轉(zhuǎn)八進(jìn)制方法為:

3位二進(jìn)制數(shù)按權(quán)展開(kāi)相加得到1位八進(jìn)制數(shù)。(注意事項(xiàng),3位二進(jìn)制轉(zhuǎn)成八進(jìn)制是從右到左開(kāi)始轉(zhuǎn)換,不足時(shí)補(bǔ)0)。(具體用法如下圖)

14b8d6ce-4c75-11ed-a3b6-dac502259ad0.png

4.八進(jìn)制轉(zhuǎn)成二進(jìn)制方法為:

八進(jìn)制數(shù)通過(guò)除2取余法,得到二進(jìn)制數(shù),對(duì)每個(gè)八進(jìn)制為3個(gè)二進(jìn)制,不足時(shí)在最左邊補(bǔ)零。(具體用法如下圖)

14cbeebc-4c75-11ed-a3b6-dac502259ad0.png

5.二進(jìn)制轉(zhuǎn)十六進(jìn)制方法為:

與二進(jìn)制轉(zhuǎn)八進(jìn)制方法近似,八進(jìn)制是取三合一,十六進(jìn)制是取四合一。(注意事項(xiàng),4位二進(jìn)制轉(zhuǎn)成十六進(jìn)制是從右到左開(kāi)始轉(zhuǎn)換,不足時(shí)補(bǔ)0)。(具體用法如下圖)

14deed46-4c75-11ed-a3b6-dac502259ad0.png

6.十六進(jìn)制轉(zhuǎn)二進(jìn)制方法為:

十六進(jìn)制數(shù)通過(guò)除2取余法,得到二進(jìn)制數(shù),對(duì)每個(gè)十六進(jìn)制為4個(gè)二進(jìn)制,不足時(shí)在最左邊補(bǔ)零。(具體用法如下圖)

14f65bfc-4c75-11ed-a3b6-dac502259ad0.png

7.十進(jìn)制轉(zhuǎn)八進(jìn)制或者十六進(jìn)制有兩種方法:

第一:間接法—把十進(jìn)制轉(zhuǎn)成二進(jìn)制,然后再由二進(jìn)制轉(zhuǎn)成八進(jìn)制或者十六進(jìn)制。這里不再做圖片用法解釋。

第二:直接法—把十進(jìn)制轉(zhuǎn)八進(jìn)制或者十六進(jìn)制按照除8或者16取余,直到商為0為止。(具體用法如下圖)

154ef708-4c75-11ed-a3b6-dac502259ad0.png

8.八進(jìn)制或者十六進(jìn)制轉(zhuǎn)成十進(jìn)制方法為:

把八進(jìn)制、十六進(jìn)制數(shù)按權(quán)展開(kāi)、相加即得十進(jìn)制數(shù)。(具體用法如下圖)

157bef38-4c75-11ed-a3b6-dac502259ad0.png

9.BCD碼轉(zhuǎn)十進(jìn)制:

因?yàn)锽CD碼是用四位二進(jìn)制表示一位十進(jìn)制數(shù),所以轉(zhuǎn)換方法類(lèi)似二進(jìn)制轉(zhuǎn)十六進(jìn)制“取四合一”法,四位組合后轉(zhuǎn)成十進(jìn)制得到的就是十進(jìn)制。以上介紹了PLC中常用進(jìn)制及相互轉(zhuǎn)換方法,意在讓初學(xué)者理解進(jìn)制含義及轉(zhuǎn)換規(guī)律。真正使用時(shí)可利用計(jì)算機(jī)提供的程序員型計(jì)算器輕松運(yùn)算出來(lái)。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5031

    文章

    13706

    瀏覽量

    472076
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4502

    瀏覽量

    87062
  • BCD
    BCD
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    30471
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70249

原文標(biāo)題:PLC中常用數(shù)制及各進(jìn)制的轉(zhuǎn)換方法,不會(huì)還有電氣人不會(huì)吧?!

文章出處:【微信號(hào):數(shù)控狂人,微信公眾號(hào):數(shù)控狂人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    labview中浮點(diǎn)數(shù)與十六進(jìn)制字符串相互轉(zhuǎn)

    與下位機(jī)數(shù)據(jù)交流及通訊時(shí),經(jīng)常有浮點(diǎn)數(shù)與十六進(jìn)制字符串相互轉(zhuǎn)化的需求,經(jīng)過(guò)兩天總結(jié),找到了最簡(jiǎn)潔的相互轉(zhuǎn)化的方法,萌新歡迎大佬指正,文件也附上。*附件:HEX字符串與浮點(diǎn)數(shù)
    發(fā)表于 10-21 19:51

    字符 數(shù)字相互轉(zhuǎn)換

    很慚愧,俺對(duì)基礎(chǔ)的東西不是很了解,數(shù)字 1和字符 ‘1’ 怎么相互轉(zhuǎn)換 ,因?yàn)樵贚CD1602和TFT彩屏顯示涉及到相互轉(zhuǎn)換,總是弄不清楚,請(qǐng)大蝦給科普下,‘0’是代表字符 0 嗎?
    發(fā)表于 05-26 11:22

    labview里單精度浮點(diǎn)數(shù)和十六進(jìn)制數(shù)如何相互轉(zhuǎn)換?

    我需要將一個(gè)單精度的浮點(diǎn)數(shù)(如0.33)轉(zhuǎn)換為十六進(jìn)制數(shù)然后通過(guò)串口發(fā)送,同時(shí)還需將串口讀取的十六進(jìn)制數(shù)轉(zhuǎn)換為單精度浮點(diǎn)數(shù)。 求問(wèn)在labview里如何使浮點(diǎn)數(shù)和十六
    發(fā)表于 10-14 11:04

    BCD碼與十進(jìn)制數(shù)相互轉(zhuǎn)換,無(wú)密碼,可直接用

    本帖最后由 kevindandan 于 2019-6-5 16:09 編輯 前面有個(gè)串口的小應(yīng)用,涉及到十進(jìn)制數(shù)與BCD碼的相互轉(zhuǎn)換,看似很簡(jiǎn)單,也花了點(diǎn)時(shí)間。附件是LabVIEW2017的代碼,希望同壇友共同交流,有改進(jìn)意見(jiàn)的可以提,謝謝。
    發(fā)表于 09-08 07:56

    ASCII-十六進(jìn)制相互轉(zhuǎn)換 自己寫(xiě)的,僅供參考

    ASCII-十六進(jìn)制相互轉(zhuǎn)換 VI源碼,僅供參考,如有錯(cuò)誤歡迎指正!
    發(fā)表于 10-26 10:59

    如何實(shí)現(xiàn)了SPI/ASI的相互轉(zhuǎn)換?

    如何實(shí)現(xiàn)了SPI/ASI的相互轉(zhuǎn)換?
    發(fā)表于 06-08 06:32

    進(jìn)制數(shù)與八進(jìn)制數(shù)的相互轉(zhuǎn)換

    進(jìn)制數(shù)與八進(jìn)制數(shù)的相互轉(zhuǎn)換 (1)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù): 將二
    發(fā)表于 09-24 11:27 ?2w次閱讀

    進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換

    進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換,按照每4位二
    發(fā)表于 09-24 11:28 ?9921次閱讀
    二<b class='flag-5'>進(jìn)制</b>數(shù)與十六<b class='flag-5'>進(jìn)制</b>數(shù)的<b class='flag-5'>相互轉(zhuǎn)換</b>

    觸發(fā)器的相互轉(zhuǎn)換

    觸發(fā)器的相互轉(zhuǎn)換 基本觸發(fā)器之間是可以互相轉(zhuǎn)換的,JK觸發(fā)器和D觸發(fā)器是兩種最常用的觸發(fā)器,別的觸發(fā)器可以通過(guò)這兩種觸發(fā)器轉(zhuǎn)化得來(lái),它們
    發(fā)表于 09-18 08:56 ?4929次閱讀
    觸發(fā)器的<b class='flag-5'>相互轉(zhuǎn)換</b>

    各種進(jìn)制相互轉(zhuǎn)換

    各種進(jìn)制相互轉(zhuǎn)換 1、其它進(jìn)制轉(zhuǎn)換為十進(jìn)制  方法是:將其它
    發(fā)表于 09-19 11:29 ?3983次閱讀
    各種<b class='flag-5'>進(jìn)制</b><b class='flag-5'>相互轉(zhuǎn)換</b>

    數(shù)模、模數(shù)相互轉(zhuǎn)

    數(shù)模、模數(shù)相互轉(zhuǎn)化數(shù)模、模數(shù)相互轉(zhuǎn)化數(shù)模、模數(shù)相互轉(zhuǎn)
    發(fā)表于 01-15 15:07 ?8次下載

    PLC中常用數(shù)制及如何轉(zhuǎn)換

    中某一位上的1所表示數(shù)值的大小(所處位置的價(jià)值)。例如,十進(jìn)制的123,1的位權(quán)是100,2的位權(quán)是10,3的位權(quán) 是1。二進(jìn)制中的 1011 ,左起第一個(gè)1的位權(quán)是8,0的位權(quán)是4,第二個(gè)1的位權(quán)是2,第三個(gè)1的位權(quán)是1。 PLC
    發(fā)表于 04-18 11:29 ?1次下載
    <b class='flag-5'>PLC</b><b class='flag-5'>中常用</b>數(shù)制及如何<b class='flag-5'>轉(zhuǎn)換</b>

    PLC中常用進(jìn)制相互轉(zhuǎn)換方法

    數(shù)制也稱(chēng)計(jì)數(shù)制,是指用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。它按進(jìn)位的原則進(jìn)行計(jì)數(shù)的方法,稱(chēng)為進(jìn)位計(jì)數(shù)制。
    的頭像 發(fā)表于 04-27 11:32 ?6138次閱讀
    <b class='flag-5'>PLC</b><b class='flag-5'>中常用</b><b class='flag-5'>進(jìn)制</b>及<b class='flag-5'>相互轉(zhuǎn)換</b><b class='flag-5'>方法</b>

    淺談PLC中常用進(jìn)制相互轉(zhuǎn)換方法

    BCD碼是用四位二進(jìn)制表示一位十進(jìn)制數(shù),所以轉(zhuǎn)換方法類(lèi)似二進(jìn)制轉(zhuǎn)十六進(jìn)制“取四合一”法,四位組合
    發(fā)表于 06-10 07:11 ?1677次閱讀
    淺談<b class='flag-5'>PLC</b><b class='flag-5'>中常用</b><b class='flag-5'>進(jìn)制</b>及<b class='flag-5'>相互轉(zhuǎn)換</b><b class='flag-5'>方法</b>

    如何實(shí)現(xiàn)二進(jìn)制和BCD碼數(shù)據(jù)的相互轉(zhuǎn)變?

    如何實(shí)現(xiàn)二進(jìn)制和BCD碼數(shù)據(jù)的相互轉(zhuǎn)變? 二進(jìn)制碼是將十進(jìn)制數(shù)字表示為二進(jìn)制數(shù)和十進(jìn)制數(shù)的一種表
    的頭像 發(fā)表于 02-18 14:51 ?4868次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品