Just starting out? Need help? Post your questions and find answers here.
-
jacdelad
- Addict
- Posts: 1431
- Joined: Wed Feb 03, 2021 12:46 pm
- Location: Planet Riesa
-
Contact:
Post
by jacdelad »
I know, this is mostly useless, but is this the right approach?
Code: Select all
Macro LoNibble(temp)
(temp&15)
EndMacro
Macro HiNibble(temp)
(temp>>4&15)
EndMacro
Macro SetHiNibble(temp,value)
((temp&15)+(value&240))
EndMacro
Macro SetLoNibble(temp,value)
((temp&240)+(value&15))
EndMacro
Debug "%"+RSet(Bin(SetHiNibble(0,255)),8,"0")
Debug "%"+RSet(Bin(SetLoNibble(0,255)),8,"0")
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
-
mk-soft
- Always Here
- Posts: 5333
- Joined: Fri May 12, 2006 6:51 pm
- Location: Germany
Post
by mk-soft »
With hex values is better to read
Code: Select all
Macro LoNibble(_byte_)
(_byte_ & $0F)
EndMacro
Macro HiNibble(_byte_)
( _byte_ >> 4 & $0F)
EndMacro
Macro SetHiNibble(_byte_, value)
_byte_ = (_byte_ & $0F) | (value << 4)
EndMacro
Macro SetLoNibble(_byte_, value)
_byte_ = (_byte_ & $F0) | (value & $0F)
EndMacro
b1.a = $12
Debug LoNibble(b1)
Debug HiNibble(b1)
SetHiNibble(b1, $A)
SetLoNibble(b1, $E)
Debug Hex(b1, #PB_Byte)
-
jacdelad
- Addict
- Posts: 1431
- Joined: Wed Feb 03, 2021 12:46 pm
- Location: Planet Riesa
-
Contact:
Post
by jacdelad »
Right. And the Set-Function is also better. Thanks!
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB