久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7119|回復(fù): 0
收起左側(cè)

VBA 中的無(wú)符號(hào)整數(shù)問(wèn)題

[復(fù)制鏈接]
ID:89763 發(fā)表于 2015-9-13 15:38 | 顯示全部樓層 |閱讀模式
因測(cè)試需要,我做了Excel的VBA中做了一個(gè)小的轉(zhuǎn)換工具,把一個(gè)用C語(yǔ)言格式表示的十六進(jìn)制數(shù) 0xXXX,轉(zhuǎn)換為用VBA語(yǔ)言表示的&HXXXX的表示方法,并且做幾個(gè)移位的動(dòng)作。只是沒(méi)想到,這么一個(gè)簡(jiǎn)單的事情,在VBA中遇到了不少的麻煩。就在這里簡(jiǎn)單的說(shuō)明一下:

1. 字符串求值函數(shù) val() 的結(jié)果范圍只是16位整數(shù),雖然幫助文件中寫(xiě)的是8字節(jié)的6進(jìn)制范圍。例如:
    Debug.print VAL(“&H8C48”)結(jié)果是 : -29624
2. Hex 轉(zhuǎn)換函數(shù),正負(fù)數(shù)的處理結(jié)果不理想。這樣把一個(gè)無(wú)符號(hào)整數(shù),變成了32位負(fù)數(shù)。
   debug.print Hex(VAL("&H8C48")) 結(jié)果是:FFFF8C48

那么,如何獲取正確的長(zhǎng)整數(shù)結(jié)果呢?只能通過(guò)定義長(zhǎng)整型變量,對(duì)這個(gè)16位數(shù)先轉(zhuǎn)換為負(fù)數(shù),在求補(bǔ)碼的方式進(jìn)行調(diào)整了。算法如下:
dim n as long  ‘如果定義為 Integer ,就會(huì)遭遇溢出錯(cuò)誤
n=val("&H8C48")    ’此時(shí)結(jié)果為 n=-29624,是因?yàn)?val 函數(shù)的范圍是16位
n=n+&H10000      '求負(fù)數(shù)的16位補(bǔ)碼, n=35912
‘此時(shí)在用Hex函數(shù),可以獲取正確的十六進(jìn)制結(jié)果
debug.print hex(n) -->結(jié)果為8C48

3. 以&HXXXX形式表示的十六進(jìn)制立即數(shù)的使用,如果第一位是8XXX,則同樣會(huì)認(rèn)定為負(fù)數(shù)。示例如下:
    dim m as long
    m=1
    if m>= &H8000 then m=m-&H8000
    debug.print m
   此時(shí),m的值應(yīng)該是多少呢?
  你或許想得到的值是 m=1,實(shí)際上,你的m值是 32769(&H8001)
  如何修改呢? 把 &H8000 拆分為 &H7FFF +1,語(yǔ)句變化為:
  if m>&H7FFF then m=m-&H7FFF-1
   這時(shí)你就可以得到你想要的結(jié)果了。

如果能夠直接使用無(wú)符號(hào)整數(shù),或者能夠說(shuō)明十六進(jìn)制的立即數(shù)的類型屬于長(zhǎng)整數(shù)型,都不會(huì)存在這樣的麻煩了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av中文字幕网站 | 久久伦理中文字幕 | 青草福利 | 欧美亚洲在线 | 久久精品久久久久久 | 精品一区二区三区91 | 亚洲精品视频在线观看免费 | 欧洲一区视频 | 91精品在线播放 | 国产精品成人一区二区三区 | 97av视频在线观看 | 欧美日韩中文字幕在线 | 99精品国自产在线 | 欧美成人精品一区二区男人看 | 久久亚洲一区二区 | 精品一区二区久久久久久久网站 | 免费精品| 精品国产鲁一鲁一区二区张丽 | 精品国产乱码久久久久久闺蜜 | 国产精品精品视频一区二区三区 | www.一区二区 | 久久久国产一区二区三区 | 九九热九九 | 日韩久久久久久久 | 亚洲精品片 | 精品在线一区 | 亚洲视频一区在线观看 | 视频在线亚洲 | 国产综合久久久久久鬼色 | 国产精品久久久久久久岛一牛影视 | 北条麻妃国产九九九精品小说 | 天天夜碰日日摸日日澡 | 一级aaaa毛片 | 国精产品一区一区三区免费完 | 亚洲日日夜夜 | 视频一区二区在线观看 | 欧美黑人一级爽快片淫片高清 | 日本精品久久 | 色久五月| 国产一区二区美女 | 亚洲天堂一区二区 |