grrrmeng
級別: 正式會(huì )員
![]() |
圖片:
![]() 初次使用歐姆龍系類(lèi)的PLC,CP1H的 見(jiàn)圖片 為啥 數據轉換的那步指令FIX不執行,實(shí)在是找不出毛病,求救對歐姆龍熟悉的老司機! |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員
![]() ![]() ![]() ![]() |
FIX已經(jīng)執行了。 看到E后面的那個(gè)負號么,代表你的浮點(diǎn)數已經(jīng)是只剩下小數部分了,小于0的浮點(diǎn)數的轉換結果就是0了。 Good Luck~ |
---|---|
本帖最近評分記錄: |
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員
![]() ![]() ![]() ![]() |
您需要去看一下浮點(diǎn)數的科學(xué)表示法章節! 1.0E+001,代表10.0 1.0E-001,代表0.1 以上只是浮點(diǎn)數中很膚淺的例子,你仍然需要去看浮點(diǎn)數的相關(guān)知識! Good Luck~ |
---|---|
本帖最近評分記錄: |
grrrmeng
級別: 正式會(huì )員
![]() |
圖片:
![]() OK 問(wèn)題已經(jīng)找到了 原來(lái)是浮點(diǎn)乘法的時(shí)候 使用常數 他本身不能夠變?yōu)楦↑c(diǎn)。增加了一部賦值就好了 謝謝 謝謝 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員
![]() ![]() ![]() ![]() |
原因并不是本身不能夠變成浮點(diǎn),而是浮點(diǎn)數在內存中排列與有符號數不同。 你可以對一個(gè)32位數進(jìn)行隨意賦值一個(gè)不為0的常數,最終都能出現浮點(diǎn)數。 出現你目前的原因是: 因為你將一個(gè)常數賦予浮點(diǎn)數,也可以認為你將一個(gè)常數給了一個(gè)32位存儲空間,而這個(gè)常數在32位存儲空間中排列所得到的浮點(diǎn)數是一個(gè)很小的值。 由于這個(gè)值非常小,導致乘法結果是一個(gè)小數,最終導致一個(gè)小數被轉化指令轉化為0了。 這才是導致你認為FIX沒(méi)有執行的真正原因,因此,如果你希望在這個(gè)領(lǐng)域水平有所提高的話(huà),你還是需要去看IEEE754浮點(diǎn)數的相關(guān)內容,特別是浮點(diǎn)數在內存中的排列格式。 Good Luck~ |
---|---|
本帖最近評分記錄: |
grrrmeng
級別: 正式會(huì )員
![]() |
OK 感謝感謝 這個(gè)數據方面的是要惡補 我本身不是計算機編程出身 對格式方面不太了解。以后一定加強! |
---|---|
|
haiyouyang
LabVIEW & C++
級別: 網(wǎng)絡(luò )英雄
![]() |
常數你直接用+1.0,就表示為浮點(diǎn)(#1770=+6000.0) |
---|---|
|