ECS 36A Lecture Notes - Lecture 3: Lookup Table, Iterator, Unicode

222 views3 pages
Published on 5 Oct 2018
School
Course
Professor
ECS 36A - Lecture 3 - Control Flow
Review:
8--bit unsigned integer [0,255]
8-bit signed integer [-128, 127] : there is one less positive number because of 0
signed integers (negative) -- their Most Significant Bit is a 1
Binary:
0...0 → 0...01 → 01...1 → 10...0 → 10...01 → 1...1
UNSIGNED: 0 1 127 -128 -129 255
SIGNED: 0 1 127 -128 -127 -1
Often need multiple bytes to represent integers:
0...0 B0,B1,B2,B3 F...F : Little endian vs Big endian
Let x: U8 = 255 (Rust) → U means unsigned, 8 means 8-bit
Let y: U8 = x+1 → increment x by 1 and results in
INTEGER OVERFLOW
Let x: i8 =1;
Let y: i8 = x-1;
For _ in 0..129 {
y=y-1,
}
Integer Overflow is a vulnerability that is hard to catch, but in python integers can hold values of
arbitrary sizes but you give up SPEED for this. Though you may not have integer overflow in
python, be aware of it.
→ search Bitcoin/ Blockchain Integer Overflow Vulnerabilities
How to represent letters:
- Map out each character using integers
- To represent 62 letters (26 upper 26 lower) how many bits do you need? 6 bits → One
Byte is enough
ASCII → designed where all english numbers & punctuation are mapped using integers less
than 128
MSB of 0 & 128 is 0
Referred to as our printable characters
0 ?....?
1 ?....? : ASCII with MSG of 1 are used to rep special characters (control)
Unlock document

This preview shows page 1 of the document.
Unlock all 3 pages and 3 million more documents.

Already have an account? Log in

Get OneClass Notes+

Unlimited access to class notes and textbook notes.

YearlyBest Value
75% OFF
$8 USD/m
Monthly
$30 USD/m
You will be charged $96 USD upfront and auto renewed at the end of each cycle. You may cancel anytime under Payment Settings. For more information, see our Terms and Privacy.
Payments are encrypted using 256-bit SSL. Powered by Stripe.