# High Byte

I need to split and integer in to bytes.

I have suceded getting the low byte doing a bitwise AND with 255.

How can i get the high byte of an integer??
LVL 2
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Function HiByte(Pass As Integer) As Byte

If (Pass And -2 ^ 15) = 0 Then
HiByte = Int(Pass / 255)
Else
HiByte = ((Pass And 32512) \ 256) Or 128
End If

End Function

0

Experts Exchange Solution brought to you by

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Commented:
Simplified a bit...

Function HiByte(i As Integer) As Byte

If i And -2 ^ 15 Then
HiByte = ((i And 32512) \ 256) Or 128
Else
HiByte = i \ 255
End If

End Function

0
Commented:

Function HiByte(i As Integer) As Byte
Dim Sign As Boolean

Sign = i And -2 ^ 15
HiByte = ((i And 32512) \ 256) Or (128 And Sign)

End Function

Note: All three work!

0
Commented:
yes, yet another way, and without stripping the sign bit first

In case you'd like to see it in decimal:

Function HiByte(i As Integer) As Byte

HiByte = (i And 65280) / 256 And 255

End Function

0
Commented:
How can i do the reverse, this is i have to bytes the low one and the higher one how can a calculate the integer??
0
###### It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.