# data[].attributes.body
Computers use a fixed number of bits to represent integers. The most common bit-lengths for integers are 8-bit, 16-bit, 32-bit and 64-bit. Programmers choose an appropriate number of bits to represent integers in a program. If you use an 8-bit integer variable in a program, the largest value it can take will be 255.

In binary, it can be more difficult to represent numbers that contain a decimal point. It can also be difficult to represent extremely small or large numbers. Pi is a difficult number for computers to represent as it has an infinite number of decimal places.

# data[].attributes.body
Hexadecimal (or hex) is a base 16 system used to simplify how binary is represented. A hex digit can be any of the following 16 digits: 0 1 2 3 4 5 6 7 8 9 A B C D E F.

Each hex digit reflects a 4-bit binary sequence.

This table shows each hex digit with the equivalent values in binary and denary.

# data[].attributes.body
Software programs are sets of instructions. For a CPU to execute these instructions, each one must first be translated into machine code – simple binary codes that activate parts of the CPU.

The CPU only performs a few basic functions:

performing mathematical operations like addition and subtraction

moving data from one memory location to another

making decisions and jumps to a new set of instructions based on those decisions

A piece of software, such as a game or web browser, combines these functions to perform more complex tasks.

# data[].attributes.body
Digital audio and video has a sample rate, bit depth and bit rate. They are usually compressed to reduce file size and stream more efficiently over networks. Compression can be lossy or lossless.

Digital audio and video has a sample rate, bit depth and bit rate. They are usually compressed to reduce file size and stream more efficiently over networks. Compression can be lossy or lossless.
Digital audio and video has a sample rate, bit depth and bit rate. They are usually compressed to reduce file size and stream more efficiently over networks. Compression can be lossy or lossless.

Bit depth

Bit depth is the number of bits available for each sample. The higher the bit depth, the higher the quality of the audio. Bit depth is usually 16 bits on a CD and 24 bits on a DVD.

A bit depth of 16 has a resolution of 65,536 possible values (ranging from 0 to 65,535), and a bit depth of 24 has over 16 million possible values (ranging from 0 to 16,777, 216).

16-bit resolution means each sample can be any binary value between 0000 0000 0000 0000 and 1111 1111 1111 1111.

32,768 + 16,384 + 8,192 + 4,096 + 2,048 + 1,024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 65,535

24 bit means the maximum binary number is 1111 1111 1111 1111 1111 1111 which creates 16,777,215 possible values.

When an audio file is created it has to be encoded as a particular file type. Uncompressed audio files are made when high-quality recordings are created. High-quality audio will be created as a PCM and stored in a file format such as WAV or AIFF.

# data[].attributes.body
Numbers can be integers or floating point numbers. Negative numbers are represented using sign and magnitude or two's complement. In CPUs, binary numbers need to be added together.

# data[].attributes.body
Binary is a numerical notation system that uses 2 as a base. Most often, numbers are represented by the Decimal system, which is base 10. In the decimal system, there are ten unique numbers: 0,1,2,3,4,5,6,7,8,9. In the binary system there are only two unique numbers: 0,1.

# data[].attributes.body
The ALU carries out calculations and makes decisions on the data sent to the processor.

Control unit (CU)

The CU, which is also called the controller, controls data moving through the processor, and controls the timing of operations and the instructions sent to the processor and the peripheral devices. The CU directs the system to carry out program instructions. It does the fetching, decoding, and managing of instructions.

Registers

Registers are also called internal memory or immediate access memory stores. A register is a small amount of fast temporary memory within the processor where the ALU or the CU can store and change values needed to execute instructions.

Different processors have different sets of registers. One important register is the program counter. This keeps track of the running order of the instructions and shows which instruction in the program is due to be executed next.

# data[].attributes.body
All computer software is built up of sets of instructions. Instructions are encoded in binary. The fetch-decode-execute cycle is the sequence of steps that the CPU follows to process instructions.

Running a program

Software programs are sets of instructions. For a CPU to execute these instructions, each one must first be translated into machine code – simple binary codes that activate parts of the CPU.

The CPU only performs a few basic functions:

performing mathematical operations like addition and subtraction

moving data from one memory location to another

making decisions and jumps to a new set of instructions based on those decisions

A piece of software, such as a game or web browser, combines these functions to perform more complex tasks.

The main parts of the CPU

Arithmetic logic unit (ALU)

The ALU carries out calculations and makes decisions on the data sent to the processor.

Control unit (CU)

The CU, which is also called the controller, controls data moving through the processor, and controls the timing of operations and the instructions sent to the processor and the peripheral devices. The CU directs the system to carry out program instructions. It does the fetching, decoding, and managing of instructions.

Registers

Registers are also called internal memory or immediate access memory stores. A register is a small amount of fast temporary memory within the processor where the ALU or the CU can store and change values needed to execute instructions.

Different processors have different sets of registers. One important register is the program counter. This keeps track of the running order of the instructions and shows which instruction in the program is due to be executed next.

An introduction to processors

2. 1

3. 2

4. 3

5. 4

6. 5

Glossary

More Guides

1. Introducing binary

2. Numbers and binary addition

3. Hexadecimal and character sets

4. Encoding images

5. Encoding audio and video

6. Instructions

Struggling to get your head round revision and exams?

Our team of exam survivors will get you started and keep you going.

Meet them here

Links

Personalise your Bitesize!

Sign in, choose your GCSE subjects and see content that's tailored for you.

BBC News: Click

BBC WebWise

BBC News: Technology

Let's Talk About Tech

Raspberry Pi

Code Club

micro:bit

Code

Learn PythonSUBSCRIPTION

GCSE Subjects

1. Art and Design

2. Biology (Single Science)

3. Business

4. Chemistry (Single Science)

5. Combined Science

6. Computer Science

7. Design and Technology

8. Digital Technology (CCEA)

9. Drama

10. English Language

11. English Literature

12. French

13. Geography

14. German

15. History

16. Home Economics: Food and Nutrition (CCEA)

17. Hospitality (CCEA)

18. ICT

19. Irish – Learners (CCEA)

20. Journalism (CCEA)

21. Learning for Life and Work (CCEA)

22. Mandarin

23. Maths

24. Maths Numeracy (WJEC)

25. Media Studies

26. Modern Foreign Languages

27. Moving Image Arts (CCEA)

28. Music

29. Physical Education

30. Physics (Single Science)

31. PSHE and Citizenship

32. Religious Studies

33. Science

34. Sociology

35. Spanish

36. Welsh Second Language (WJEC)

Explore the BBC

Home

News

Sport

Reel

Worklife

Travel

Future

Culture

Music

TV

Weather

Sounds

Terms of Use

About the BBC

Privacy Policy

Cookies

Accessibility Help

Parental Guidance

Contact the BBC

Get Personalised Newsletters

Advertise with us

AdChoices / Do Not Sell My Info

Copyright © 2020 BBC. The BBC is not responsible for the content of external sites. Read about our approach to external linking.

# data[].attributes.body
Bitmap images are widely used on digital cameras, smartphones and online. Common bitmap image file types include JPEG, GIF and PNG. Bitmaps are also known as pixelmaps or raster graphics.

Bitmap images are organised as a grid of coloured squares called pixels (short for 'picture elements'). When zooming in or enlarging a bitmap image, the pixels are stretched and made into larger blocks. This is why bitmap images appear as poor quality when enlarged too much.

# data[].attributes.body
Most programmers do not write programs as sequences of binary digits. They use programming languages like Java, C++, Ruby, BASIC or Python. These are also known as high-level programming languages.

High-level languages need to be translated into a binary code before the CPU can execute them. The benefit of high-level languages is that they are more like everyday written language than sequences of binary numbers, so people find them easier to write and understand.

Languages can be defined as human-readable or machine-readable:

Human-readable

language instructions are encoded in a language that humans can understand more easily. This includes high- and low-level languages. Low-level languages, such as

assembly language

, more closely reflect the mechanical workings of the CPU.

Machine-readable

language instructions are written using only the binary codes of the processor's instruction set.

Jackson Gabbard explains how Facebook uses different programming languages for different parts of the application

Download Transcript

Did you know?

The first computers were programmed using machine code. Today, it is more common for programmers to use high-level languages.

Translators

A piece of translator software, which is usually included within programming software, converts high-level languages into machine code. These translators are known as compilers and interpreters. Programs are translated using either a compiler or interpreter.

Compiler

A compiler translates a human-readable program directly into an executable, machine-readable form before the program can run.

Interpreter

An interpreter translates a human-readable program into an executable, machine-readable form, instruction by instruction. It then executes each translated instruction before moving on to the next one. A program is translated every time it is run. Python is an example of an interpreted language.

# data[].attributes.headline
Colours can be described in hex in the format RRGGBB

# data[].attributes.subject
Colours can be described in hex in the format RRGGBB

# data[].attributes.body
Opcode

The opcode tells the processor the job that needs to be done. A simple operation might be 'add' or 'subtract'. If we use the analogy of a recipe, the opcode might be 'chop' or 'mix'.

Each opcode instruction is very limited in what it can tell the processor to do. A CPU's instruction set contains the opcodes that it will accept.

There are two types of opcode:

an opcode that tells the circuitry which operation to carry out

an opcode along with some data to be processed

Operand

The operand specifies the data that needs to be acted on. The operand can also refer to a place in memory, such as a register.

If we use the analogy of a recipe, an ingredient (eg an onion) is the thing being acted upon by the opcode. So the opcode 'chop' could act on the operand 'onion'. If the operand refers to a place in memory, this could be seen as the 'chopping board'. The operand (data) 'onion' could be in the memory location 'chopping board'. The instruction could be to chop the onion on the chopping board.

# data[].attributes.body
The bit rate of a file tells us how many bits of data are processed every second. Bit rates are usually measured in kilobits per second (kbps).

Calculating bit rate

The bit rate is calculated using the formula:

Frequency × bit depth × channels = bit rate

A typical, uncompressed high-quality audio file has a sample rate of 44,100 samples per second, a bit depth of 16 bits per sample and 2 channels of stereo audio. The bit rate for this file would be:

44,100 samples per second × 16 bits per sample × 2 channels = 1,411,200 bits per second (or 1,411.2 kbps)

A four-minute (240 second) song at this bit rate would create a file size of:

1,411,200 × 240 = 338,688,000 bits (or 40.37 megabytes)

# data[].attributes.body
Each colour of an image is stored as a binary number. Each pixel is either black or white. You need a binary value for each different colour. As each pixel is either black or white, this image can be encoded with a value of 0 for white and 1 for black.

Vectors
A vector image uses scalable shapes such as straight lines and curves, using coordinates and geometry to precisely define the parts of the image. It is more efficient than bitmaps at storing large areas of the same colour because it does not need to store every pixel as a bitmap does.

Vector graphics can be scaled without losing resolution. They can be enlarged or reduced in size - but the file size will stay almost exactly the same.

# data[].attributes.body
here's a video to help enplane's😊😉👍😎😃👀

# data[].attributes.body
100 = 4. There is one value of 2².
101 = 5. There is one value of 2² and one value of 2⁰.
These values are added: 4 + 1 = 5.
001 = 1. There is one value of 2⁰.
10011 = 19. There is one value of 2⁴, one value of 2¹, and one value of 2⁰.
These values are added: 16 + 2 + 1 = 19.

# data[].attributes.body
Each color of an image is stored as a binary number. In the black-and-white image below, each pixel is either black or white. You need a binary value for each different colour. As each pixel is either black or white, this image can be encoded with a value of 0 for white and 1 for black.

# data[].attributes.headline
You can also break a binary number down into place-value columns, but each column is a power of two instead of a power of ten.For example, take a binary number like 1001. The columns are arranged in multiples of 2 with the binary number written below:

# data[].attributes.subject
You can also break a binary number down into place-value columns, but each column is a power of two instead of a power of ten.For example, take a binary number like 1001. The columns are arranged in multiples of 2 with the binary number written below:

# data[].attributes.body
Nibble

- 4 bits (half a byte)

Byte

- 8 bits

Kilobyte

(KB) - 1000 bytes

Megabyte

(MB) - 1000 kilobytes

Gigabyte

(GB) - 1000 megabytes

Terabyte

(TB) - 1000 gigabytes

Most computers can process millions of bits every second. A hard drive's storage capacity is measured in gigabytes or terabytes. RAM is often measured in megabytes or gigabytes.

Amount of storage space required

# data[].attributes.body
11010100 in binary would be D4 in hex
FFFF3 in hex would be 11111111111111110011 in binary
:)

# data[].attributes.body
The binary numeral system is a way to write numbers using only two digits: 0 and 1. These are used in computers as a series of "off" and "on" switches. In binary, each digit's place value is twice as much as that of the next digit to the right (since each digit holds two values).

# data[].attributes.body
01010101010000101010101010111100101010101010111101010101011011110101010001100101010101111000111101010101001010101010101000001010101011110101

# data[].attributes.body
https://www.google.com/imgres?imgurl=https%3A%2F%2Fuser-images.githubusercontent.com%2F823277%2F77815798-120d7800-7101-11ea-8a95-844ad6faa55a.png&imgrefurl=https%3A%2F%2Fgithub.com%2FWebAssembly%2Fspec%2Fissues%2F1166&tbnid=GbkV2vsD8tsEuM&vet=12ahUKEwjP_-DGxYXrAhUFm0sFHWzLBToQMygRegUIARDHAQ..i&docid=lVp3Vm0r8lR8cM&w=1005&h=603&itg=1&q=binary%20instructions&safe=strict&client=safari&ved=2ahUKEwjP_-DGxYXrAhUFm0sFHWzLBToQMygRegUIARDHAQ

# data[].attributes.body
https://www.google.com/imgres?imgurl=http%3A%2F%2Fresources.hwb.wales.gov.uk%2FVTC%2FPhase2delivery%2FWales%2FLiteracy%2FKeystage2%2FWriting%2FInstructions%2FIntroduction%2F51.gif&imgrefurl=http%3A%2F%2Fresources.hwb.wales.gov.uk%2FVTC%2FPhase2delivery%2FWales%2FLiteracy%2FKeystage2%2FWriting%2FInstructions%2FIntroduction%2Fdefault.htm&tbnid=xo4MGrl30VyjvM&vet=12ahUKEwji2c-1xYXrAhUzkuYKHVn2DsUQMygRegUIARD1AQ..i&docid=ticZnkgJkhx0rM&w=250&h=237&q=instructions&safe=strict&client=safari&ved=2ahUKEwji2c-1xYXrAhUzkuYKHVn2DsUQMygRegUIARD1AQ

# data[].attributes.body
00011101010101010011010101010101010101010100011111!

# data[].attributes.body
https://www.google.com/imgres?imgurl=https%3A%2F%2Fmelloo.co.uk%2Fmedia%2Fcatalog%2Fproduct%2Fcache%2F1%2Fimage%2F9df78eab33525d08d6e5fb8d27136e95%2Fi%2Fn%2Finstructions-ks2-resource-1_1.png&imgrefurl=https%3A%2F%2Fmelloo.co.uk%2Finstructions&tbnid=YMxxKAK0Lu88vM&vet=12ahUKEwji2c-1xYXrAhUzkuYKHVn2DsUQMygIegUIARDjAQ..i&docid=P80TgktD02a1aM&w=800&h=800&q=instructions&safe=strict&client=safari&ved=2ahUKEwji2c-1xYXrAhUzkuYKHVn2DsUQMygIegUIARDjAQ

# data[].attributes.body
https://www.google.com/url?sa=i&url=https%3A%2F%2Fweb.uri.edu%2Fdisability%2Finstructions-for-note-takers%2F&psig=AOvVaw1m3Oua2-MB80S3JTRXjJkx&ust=1596767716723000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCLDixqHGhesCFQAAAAAdAAAAABAD