Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rotate left 2 bits (like assembler)
#5
I believe the following will rotate QB signed 16-bit integers 2 to the left. Note: this would be simpler if qb had unsigned data types.

Code:
DEFINT A-Z
CLS
DO
INPUT "gimme a number"; a
PRINT a; " (dec) == "; HEX$(a); " (hex)"


SignBit = a < 0         ' true if 16th bit is on
'PRINT SignBit
nextBit = ((a AND &H4000) = &H4000)  ' true if 15th bit is on
'PRINT nextBit
newSignBit = ((a AND &H2000) = &H2000)  ' true if 14th bit is on
'PRINT newSignBit

a = a AND &H1FFF '&H1fff == 0001 1111 1111 1111...clear the bits that will fall off before shifting to prevent overflow errors

a = a * 4  ' shift left 2 bits
a = a + (-2 * SignBit) 'add bit to 2's place
a = a + (-1 * nextBit) 'add bit to 1's place

IF newSignBit THEN a = a OR &H8000  'add sign if needed

PRINT "your number rotated left 2 bits is"
PRINT a; " (dec) == "; HEX$(a); " (hex)"

LOOP

Not the most elegant solution, but...
Reply


Messages In This Thread
Rotate left 2 bits (like assembler) - by Moneo - 05-14-2005, 03:33 AM
Rotate left 2 bits (like assembler) - by Neo - 05-14-2005, 03:37 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-14-2005, 11:33 PM
Rotate left 2 bits (like assembler) - by Mango - 05-15-2005, 07:26 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-15-2005, 10:40 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-16-2005, 04:35 AM
Rotate left 2 bits (like assembler) - by neuro - 05-16-2005, 10:25 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-16-2005, 10:41 PM
Rotate left 2 bits (like assembler) - by Mango - 05-17-2005, 04:34 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-17-2005, 05:14 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-17-2005, 09:59 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-18-2005, 04:41 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-18-2005, 07:52 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-19-2005, 09:25 PM
Rotate left 2 bits (like assembler) - by Blitz - 05-19-2005, 11:01 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-19-2005, 11:58 PM
Rotate left 2 bits (like assembler) - by Blitz - 05-20-2005, 12:49 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-20-2005, 01:54 AM
Rotate left 2 bits (like assembler) - by Anonymous - 05-20-2005, 03:37 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-20-2005, 05:44 AM
Blah - by Lithium - 05-20-2005, 07:56 PM
Re: Blah - by Moneo - 05-20-2005, 11:50 PM
Rotate left 2 bits (like assembler) - by marzecTM - 05-21-2005, 01:04 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-21-2005, 04:24 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-21-2005, 05:04 AM
Rotate left 2 bits (like assembler) - by Deleter - 05-21-2005, 05:04 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-21-2005, 05:05 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-21-2005, 07:14 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-21-2005, 10:19 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-21-2005, 05:12 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-22-2005, 12:12 AM
Rotate left 2 bits (like assembler) - by Helga - 05-22-2005, 01:12 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-22-2005, 04:14 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-22-2005, 05:31 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-22-2005, 05:40 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-22-2005, 07:18 AM
Rotate left 2 bits (like assembler) - by Mango - 05-22-2005, 12:41 PM
Rotate left 2 bits (like assembler) - by Mango - 05-22-2005, 12:58 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-23-2005, 12:22 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-23-2005, 12:51 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-23-2005, 05:21 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-23-2005, 05:31 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-23-2005, 06:27 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-23-2005, 06:47 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-23-2005, 07:05 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-23-2005, 07:27 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-23-2005, 07:28 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-23-2005, 09:24 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-23-2005, 11:56 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-23-2005, 12:20 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-23-2005, 11:59 PM
Rotate left 2 bits (like assembler) - by Z!re - 05-24-2005, 12:04 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 12:07 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 12:28 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-24-2005, 12:30 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-24-2005, 12:31 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-24-2005, 12:36 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-24-2005, 12:38 AM
Rotate left 2 bits (like assembler) - by logiclrd - 05-24-2005, 12:44 AM
Rotate left 2 bits (like assembler) - by logiclrd - 05-24-2005, 01:03 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 04:22 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 04:29 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-24-2005, 05:02 AM
Rotate left 2 bits (like assembler) - by logiclrd - 05-24-2005, 05:05 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 05:22 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 05:29 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-24-2005, 05:43 AM
Rotate left 2 bits (like assembler) - by logiclrd - 05-24-2005, 06:10 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-24-2005, 06:28 AM
Rotate left 2 bits (like assembler) - by Blitz - 05-24-2005, 07:43 AM
Rotate left 2 bits (like assembler) - by marzecTM - 05-24-2005, 09:38 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-24-2005, 10:54 PM
Rotate left 2 bits (like assembler) - by logiclrd - 05-25-2005, 04:37 AM
Rotate left 2 bits (like assembler) - by Moneo - 05-25-2005, 05:58 AM
Rotate left 2 bits (like assembler) - by Z!re - 05-25-2005, 06:06 AM
Rotate left 2 bits (like assembler) - by logiclrd - 05-25-2005, 09:03 AM
Rotate left 2 bits (like assembler) - by Anonymous - 05-25-2005, 01:37 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-25-2005, 10:24 PM
Rotate left 2 bits (like assembler) - by logiclrd - 05-25-2005, 11:22 PM
Ok - by Lithium - 05-25-2005, 11:25 PM
Rotate left 2 bits (like assembler) - by logiclrd - 05-25-2005, 11:59 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-26-2005, 04:24 AM
Rotate left 2 bits (like assembler) - by Lithium - 05-30-2005, 07:26 PM
Rotate left 2 bits (like assembler) - by Mango - 05-30-2005, 08:03 PM
Rotate left 2 bits (like assembler) - by Z!re - 05-30-2005, 09:10 PM
Rotate left 2 bits (like assembler) - by Moneo - 05-30-2005, 11:49 PM
Rotate left 2 bits (like assembler) - by Mango - 05-31-2005, 12:06 AM
Using long - by Quibbler - 06-01-2005, 10:01 PM
Rotate left 2 bits (like assembler) - by logiclrd - 06-01-2005, 10:12 PM
Re: Using long - by Moneo - 06-02-2005, 03:07 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)