Annotation of 43BSDTahoe/new/help/src/f77/bits, revision 1.1.1.1

1.1       root        1: .TI F77/BITS "June 15, 1985"
                      2: Bit Manipulation: Octal, Hexadecimal and Binary
                      3: 
                      4: The built-in bit manipulation functions:
                      5: 
                      6: .nf
                      7:        and, or, xor, not, rshift, lshift
                      8: .fi
                      9: 
                     10: are described in "man 3f bit".  That manual section
                     11: also illustrates how to use them to set, clear,
                     12: and access bits within words.
                     13: 
                     14: Bit strings can be used in data statements:
                     15: 
                     16: .nf
                     17:        integer a(3)
                     18:        data a/b'1010', o'12', z'a'/
                     19: .fi
                     20: 
                     21: These statements initialize the three elements of a() to the
                     22: decimal value 10 using
                     23: binary, octal and hexadecimal constants.
                     24: 
                     25: When using bit strings and bit manipulation, be careful as
                     26: VAXs access memory bytes in a different order depending on whether
                     27: the operand is a byte, word, long word or character string.
                     28: 
                     29: Values can be printed out in octal and hex by using the 'o' and 'z'
                     30: format terms.  The program:
                     31: .nf
                     32: 
                     33:                i = 125
                     34:                print 100, i, i, i
                     35:        100     format('  decimal:    octal:      hex:'/ i10, o10, z10 )
                     36:                end
                     37: 
                     38: prints:
                     39: 
                     40:          decimal:    octal:      hex:
                     41:               125       175        7d
                     42: 
                     43: .fi
                     44: The next sample illustrates how to use the unsigned format specifier, 'su',
                     45: to treat the sign as an ordinary bit and how to print leading blanks as zeros:
                     46: .nf
                     47: 
                     48:                i = -127
                     49:                j = 63
                     50:                print 100, i, i, j, j
                     51:        100     format('hex:   ',su,z8.8/ 'octal: ', o11.11)
                     52:                end
                     53: 
                     54: prints:
                     55: 
                     56:        hex:   ffffff81
                     57:        octal: 37777777601
                     58:        hex:   0000003f
                     59:        octal: 00000000077
                     60: 
                     61: .fi

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.