gpt4 book ai didi

excel - 请求解释一行VBA代码

转载 作者:行者123 更新时间:2023-12-04 21:51:58 24 4
gpt4 key购买 nike

以下代码将颜色值转换为 3D RGB 数组

Function Decimal2RGB(color_val)
Decimal2RGB = Array(color_val \ 256 ^ 0 And 255, color_val \ 256 ^ 1 And 255, color_val \ 256 ^ 2 And 255)
End Function

另一个类似的子是
Sub Sample()
Dim Col As Long

'~~> RGB to LONG
Col = RGB(255, 111, 254)

Debug.Print Col

'~~> LONG To RGB
R = Col Mod 256
G = (Col \ 256) Mod 256
B = (Col \ 256 \ 256) Mod 256

Debug.Print R
Debug.Print G
Debug.Print B
End Sub

我的问题是“与”运算符在第一个子例程中做了什么?

第一个 sub 的执行示例: {=Decimal2RGB(258)}生产 {2, 1, 0} .

最佳答案

正如吉普德所说,And是 VBA 中的位运算符。
所以And 255屏蔽所有高于第 8 位的位。例如:

455dec -> 111000111  
255dec -> 011111111
And -> 011000111 -> 199dec

关于excel - 请求解释一行VBA代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52467738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com