code by Steven H. D. Haddock and Casey W. Dunn as described in:
Practical Computing for Biologists
by Steven H. D. Haddock and Casey W. Dunn
published in 2011 by Sinauer Associates.
ISBN 978-0-87893-391-4http://www.sinauer.com/practical-computing-for-biologists.html
see practicalcomputing.orgscripts freely available by the original authors at practicalcomputing.org
DIRECT LINK: http://practicalcomputing.org/files/pcfb_examples.zip
Updated to Python 3 by Wayne Decaturposted as a Gist and IPython Notebook by Wayne (fomightez at GitHub) with full credit and reference to original code authors.¶
def int2bin(n, count=8):
"""returns the binary of integer n, using count number of digits"""
return "".join([str((n >> y) & 1) for y in range(count-1, -1, -1)])
ValuesToPrint = 256
for x in range(ValuesToPrint):
# split parameters of the % operator across lines
print ("%03d\t%8s\t%s\t%s" % (
x, # the decimal value
int2bin(x), # binary representation
hex(x).upper(), # hexadecimal value
chr(x) # unicode character
)
)
000 00000000 0X0 001 00000001 0X1 002 00000010 0X2 003 00000011 0X3 004 00000100 0X4 005 00000101 0X5 006 00000110 0X6 007 00000111 0X7 008 00001000 0X8 009 00001001 0X9 010 00001010 0XA 011 00001011 0XB 012 00001100 0XC 013 00001101 0XD 014 00001110 0XE 015 00001111 0XF 016 00010000 0X10 017 00010001 0X11 018 00010010 0X12 019 00010011 0X13 020 00010100 0X14 021 00010101 0X15 022 00010110 0X16 023 00010111 0X17 024 00011000 0X18 025 00011001 0X19 026 00011010 0X1A 027 00011011 0X1B 028 00011100 0X1C 029 00011101 0X1D 030 00011110 0X1E 031 00011111 0X1F 032 00100000 0X20 033 00100001 0X21 ! 034 00100010 0X22 " 035 00100011 0X23 # 036 00100100 0X24 $ 037 00100101 0X25 % 038 00100110 0X26 & 039 00100111 0X27 ' 040 00101000 0X28 ( 041 00101001 0X29 ) 042 00101010 0X2A * 043 00101011 0X2B + 044 00101100 0X2C , 045 00101101 0X2D - 046 00101110 0X2E . 047 00101111 0X2F / 048 00110000 0X30 0 049 00110001 0X31 1 050 00110010 0X32 2 051 00110011 0X33 3 052 00110100 0X34 4 053 00110101 0X35 5 054 00110110 0X36 6 055 00110111 0X37 7 056 00111000 0X38 8 057 00111001 0X39 9 058 00111010 0X3A : 059 00111011 0X3B ; 060 00111100 0X3C < 061 00111101 0X3D = 062 00111110 0X3E > 063 00111111 0X3F ? 064 01000000 0X40 @ 065 01000001 0X41 A 066 01000010 0X42 B 067 01000011 0X43 C 068 01000100 0X44 D 069 01000101 0X45 E 070 01000110 0X46 F 071 01000111 0X47 G 072 01001000 0X48 H 073 01001001 0X49 I 074 01001010 0X4A J 075 01001011 0X4B K 076 01001100 0X4C L 077 01001101 0X4D M 078 01001110 0X4E N 079 01001111 0X4F O 080 01010000 0X50 P 081 01010001 0X51 Q 082 01010010 0X52 R 083 01010011 0X53 S 084 01010100 0X54 T 085 01010101 0X55 U 086 01010110 0X56 V 087 01010111 0X57 W 088 01011000 0X58 X 089 01011001 0X59 Y 090 01011010 0X5A Z 091 01011011 0X5B [ 092 01011100 0X5C \ 093 01011101 0X5D ] 094 01011110 0X5E ^ 095 01011111 0X5F _ 096 01100000 0X60 ` 097 01100001 0X61 a 098 01100010 0X62 b 099 01100011 0X63 c 100 01100100 0X64 d 101 01100101 0X65 e 102 01100110 0X66 f 103 01100111 0X67 g 104 01101000 0X68 h 105 01101001 0X69 i 106 01101010 0X6A j 107 01101011 0X6B k 108 01101100 0X6C l 109 01101101 0X6D m 110 01101110 0X6E n 111 01101111 0X6F o 112 01110000 0X70 p 113 01110001 0X71 q 114 01110010 0X72 r 115 01110011 0X73 s 116 01110100 0X74 t 117 01110101 0X75 u 118 01110110 0X76 v 119 01110111 0X77 w 120 01111000 0X78 x 121 01111001 0X79 y 122 01111010 0X7A z 123 01111011 0X7B { 124 01111100 0X7C | 125 01111101 0X7D } 126 01111110 0X7E ~ 127 01111111 0X7F 128 10000000 0X80 129 10000001 0X81 130 10000010 0X82 131 10000011 0X83 132 10000100 0X84 133 10000101 0X85 134 10000110 0X86 135 10000111 0X87 136 10001000 0X88 137 10001001 0X89 138 10001010 0X8A 139 10001011 0X8B 140 10001100 0X8C 141 10001101 0X8D 142 10001110 0X8E 143 10001111 0X8F 144 10010000 0X90 145 10010001 0X91 146 10010010 0X92 147 10010011 0X93 148 10010100 0X94 149 10010101 0X95 150 10010110 0X96 151 10010111 0X97 152 10011000 0X98 153 10011001 0X99 154 10011010 0X9A 155 10011011 0X9B 156 10011100 0X9C 157 10011101 0X9D 158 10011110 0X9E 159 10011111 0X9F 160 10100000 0XA0 161 10100001 0XA1 ¡ 162 10100010 0XA2 ¢ 163 10100011 0XA3 £ 164 10100100 0XA4 ¤ 165 10100101 0XA5 ¥ 166 10100110 0XA6 ¦ 167 10100111 0XA7 § 168 10101000 0XA8 ¨ 169 10101001 0XA9 © 170 10101010 0XAA ª 171 10101011 0XAB « 172 10101100 0XAC ¬ 173 10101101 0XAD 174 10101110 0XAE ® 175 10101111 0XAF ¯ 176 10110000 0XB0 ° 177 10110001 0XB1 ± 178 10110010 0XB2 ² 179 10110011 0XB3 ³ 180 10110100 0XB4 ´ 181 10110101 0XB5 µ 182 10110110 0XB6 ¶ 183 10110111 0XB7 · 184 10111000 0XB8 ¸ 185 10111001 0XB9 ¹ 186 10111010 0XBA º 187 10111011 0XBB » 188 10111100 0XBC ¼ 189 10111101 0XBD ½ 190 10111110 0XBE ¾ 191 10111111 0XBF ¿ 192 11000000 0XC0 À 193 11000001 0XC1 Á 194 11000010 0XC2 Â 195 11000011 0XC3 Ã 196 11000100 0XC4 Ä 197 11000101 0XC5 Å 198 11000110 0XC6 Æ 199 11000111 0XC7 Ç 200 11001000 0XC8 È 201 11001001 0XC9 É 202 11001010 0XCA Ê 203 11001011 0XCB Ë 204 11001100 0XCC Ì 205 11001101 0XCD Í 206 11001110 0XCE Î 207 11001111 0XCF Ï 208 11010000 0XD0 Ð 209 11010001 0XD1 Ñ 210 11010010 0XD2 Ò 211 11010011 0XD3 Ó 212 11010100 0XD4 Ô 213 11010101 0XD5 Õ 214 11010110 0XD6 Ö 215 11010111 0XD7 × 216 11011000 0XD8 Ø 217 11011001 0XD9 Ù 218 11011010 0XDA Ú 219 11011011 0XDB Û 220 11011100 0XDC Ü 221 11011101 0XDD Ý 222 11011110 0XDE Þ 223 11011111 0XDF ß 224 11100000 0XE0 à 225 11100001 0XE1 á 226 11100010 0XE2 â 227 11100011 0XE3 ã 228 11100100 0XE4 ä 229 11100101 0XE5 å 230 11100110 0XE6 æ 231 11100111 0XE7 ç 232 11101000 0XE8 è 233 11101001 0XE9 é 234 11101010 0XEA ê 235 11101011 0XEB ë 236 11101100 0XEC ì 237 11101101 0XED í 238 11101110 0XEE î 239 11101111 0XEF ï 240 11110000 0XF0 ð 241 11110001 0XF1 ñ 242 11110010 0XF2 ò 243 11110011 0XF3 ó 244 11110100 0XF4 ô 245 11110101 0XF5 õ 246 11110110 0XF6 ö 247 11110111 0XF7 ÷ 248 11111000 0XF8 ø 249 11111001 0XF9 ù 250 11111010 0XFA ú 251 11111011 0XFB û 252 11111100 0XFC ü 253 11111101 0XFD ý 254 11111110 0XFE þ 255 11111111 0XFF ÿ
See the code in action and explore it interactively here.
Obtain a copy of this entire IPython Notebook here in order to explore it interactively.
%whos
Variable Type Data/Info ------------------------------------- ValuesToPrint int 256 int2bin function <function int2bin at 0x7e2a04971f30> x int 255
The above special command lets us see what is defined and can be used in an IPython Notebook.
(For some reason it doesn't work for any of the initiating variables over in the interactive gist console.)