机器温度处理方式:
十六位数据中,高4位为符号位,0表示正数,1表示负数。
中间8位为数据位,正数时,数据为原码表示的十六进制数据;负数时,数据需进行按位取反操作,得出实际数据。
低四位为小数部分(未用)。
例如:
所接收的两组机器温度数据为:02H 53H 和 F8H 74H
第一组为正数,二进制数据为0000001001010011,取中间8位,得十进制数据为37,则温度为37度。
第二组为负数,二进制数据为1111100001110100,中间8位按位取反,得十进制数据为120,则温度为120度。
帮帮忙,这个如何处理?如何取出这个数的高四位?谢谢
十六位数据中,高4位为符号位,0表示正数,1表示负数。
中间8位为数据位,正数时,数据为原码表示的十六进制数据;负数时,数据需进行按位取反操作,得出实际数据。
低四位为小数部分(未用)。
例如:
所接收的两组机器温度数据为:02H 53H 和 F8H 74H
第一组为正数,二进制数据为0000001001010011,取中间8位,得十进制数据为37,则温度为37度。
第二组为负数,二进制数据为1111100001110100,中间8位按位取反,得十进制数据为120,则温度为120度。
帮帮忙,这个如何处理?如何取出这个数的高四位?谢谢
解决方案 »
- 类似于outlook日程管理的日历控件有吗?
- 视频文件加密问题
- 关于程序异常退出后。。。
- 高手帮忙!!从数据库a中的a1表中读取多条记录插入到数据库b中的b1表中该如何实现???急!!!!在线等待!!!!!
- 请问这条语句是什么意思??.............谢谢
- 谁帮我看下这段程序excel中宏
- 请教一SQL语句写法,找出其最大日期的记录,内详.
- 我想问大家:怎样实现菜单的动态生成
- Visual Basic宣告死亡?真的还是假的?---我们该如何是好!!??
- help!!!!急急急
- vb备份本地SQL,有时能连接有时不能连接
- 向数据库中写入一条记录,如果这条记录已经存在将会俘获到什么错误号,俘获错误号的语句如何写?
'下面是对正负数的判断和转换
if ((iNumTempe And &HF00)=&HF00) then
iNumTempe = (iNumTempe Xor 4095)\16
else
iNumTempe = iNumTempe \ 16
endif
'输出
debug.print iNumTempe
这样:dim iNumTempe&iNumTempe = &HF874iNumTempe = (iNumTempe And &HFFFF&)\16&
'下面是对负数的判断和转换
if ((iNumTempe And &HF00)=&HF00) then iNumTempe = iNumTempe Xor 4095
'输出
debug.print iNumTempe