Computers represent all data internally, including instructions, in the form of bits, or binary digits, i.e. long strings of zeroes and ones, usually processed together in bytes (groups of eight binary digits) or words (32 or 64 digits depending on specific machine architecture). On the most basic physical level, computers are capable of taking individual bits and doing four possible things with them: storing them, applying a "NOT" to a single bit, or operating on two bits with logical operators "OR", "AND" and/or "not AND" ("NAND") to produce a result. Normally on the hardware and firmware levels, these operations are combined to operate on larger groups of bits to form an instruction set (usually of 50-100 operations) that constitute "machine language". System software translates more complicated information such as keyboard inputs and applications from alphanumeric or graphic form into the digital information that the computer can actually understand.