To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 24372
24371  |  24373
Subject: 
Re: Rotating through a four-bit nibble
Newsgroups: 
lugnet.robotics
Date: 
Tue, 20 Sep 2005 16:57:56 GMT
Viewed: 
5109 times
  
In lugnet.robotics, Brian Davis wrote:
>    No, it's not pornographic (look over in rtlToronto - I hear it's a fun
> thread). But I'm working in NQC, and I need to rotate the bit series in a 4-bit
> (or 8-bit) nibble embedded in a 16-bit word. Annoying. Any suggestions? Masking
> the desired four bits out of a storage variable and into a temporary variable
> four times (so it's a repeating pattern) and then rotating and masking out the
> desired sequence might work, but is there a better way? Bit-level manipulation
> is not my strong suite.
> 
> (x's here are "something else" that I may wish to keep intact, y is garbage or
> potentially trashed bits)
> 
> stored sequence in 16-bit word:        xxxx xxxx 0110 xxxx
> 4-bit nibble copied across temporary:  xxxx 0110 0110 0110
> left shift temporary, say, twice:      xx01 1001 1001 10yy
> mask out one nibble back into storage: xxxx xxxx 1001 xxxx
> 
> There's got to be a better way. I'm using NQC, so I'm stuck with those big
> 16-bit words and basic operations like bit logic, shifts, and interger division
> (and of course modulo division).
> 
>    Anybody?

One way to do this might be by using multiplication and division.

Temp = (Input & 0000 0000 0011 0000)*4 + (Input & 0000 0000 1100 0000)/4
Output = (Input & 1111 1111 0000 1111) & (Temp & 0000 0000 1111 0000)

Although I imagine that can be condensed to one line with a bit of thought.

Tim



Message is in Reply To:
  Rotating through a four-bit nibble
 
No, it's not pornographic (look over in rtlToronto - I hear it's a fun thread). But I'm working in NQC, and I need to rotate the bit series in a 4-bit (or 8-bit) nibble embedded in a 16-bit word. Annoying. Any suggestions? Masking the desired four (...) (21 years ago, 20-Sep-05, to lugnet.robotics)

13 Messages in This Thread:




Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR