20165230 2018-2019-1 "Information Security system Design Fundamentals" The second week study summary of learning Contents
- There are two general rules for arranging the bytes of an object: The small-end method (least significant byte at the front) and the big-endian (the most significant byte in front).
- The expression x>>k will shift the X arithmetic right to K (the left side complements the K-effective bit) and the x>>>k will make a logical (left-side complement K 0) to the right.
- To convert a complement number to a larger data type, you can perform a symbol extension.
- Long:32 bit machine: 4 bytes; 64-bit machine: 8 bytes
- The range of negative numbers is greater than the range of integers 1
- Unsigned number encoding: b2u (x->) =x* (2^x) and
- Complement coding (the most common symbolic number representation in a computer): b2t= highest bit x highest bit weight + other bit weights
- To convert a complement number to a larger data type, you can perform a symbol extension.
- When forcing type conversions between unsigned and signed integers of the same length, most C language implementations follow the principle that the underlying bit patterns are unchanged.
- When forcing type conversions between unsigned and signed integers of the same length, most C language implementations follow the principle that the underlying bit patterns are unchanged.
- The most common floating-point representations are defined by IEEE Standard 754. It offers several different accuracies, the most common being single-precision (32-bit) and double-precision (64-bit).
Because of the limited precision of the representation, floating-point operations are not associative (example P20 in the book).
- The C language allows for coercion of type conversions between different data types. Note, however, that converting negative numbers to unsigned numbers can result in 0, and forcing the results of type conversions to hold the bit values unchanged, only changes the way the bits are interpreted.
- The C language supports both signed and unsigned operations for all integer data types, most of which are implicitly symbolic, so to create an unsigned constant, you must fall in love with the suffix character "u" or ' u ', such as 123U.
0 extensions and Symbol Extensions: 0 extensions are applied to unsigned integers, and symbol extensions are applied to signed integers.
- Truncation unsigned number: X ' =xmod (2^k) truncated K-bit
- Truncated complement value: X ' =u2 (t_k) (xmod2^k)
The conversion of signed and unsigned numbers often results in program errors and is not easily discovered, so be sure to be aware of programming.
- As with the number of unsigned and complement multiplication, the division is shifted. The division of the unsigned number is shifted after 0, and the complement of the division shift is 1.
Differentiate and calculate the difference between the bit operation and the logical operation.
Problems in teaching materials learning and the solving process
- Question 1: When looking at conversions between signed and unsigned numbers, there is confusion about the "bit pattern unchanged" in the transformation rules.
- Issue 1 Solution: Force the result of a type conversion to keep the value of the bit constant, and the negative complement representation before the conversion is exactly the same as the converted 16-bit unsigned number representation.
Problems in code debugging and the resolution process
- Problem 1:GCC Compilation Error
- Issue 1 FIX: Error message "Unrecognized command line option '-o '" found to have lowercase O written in uppercase, resulting in an error
- Problem 2:git Error
- Issue 1 Resolved: Found a workaround by viewing the blog:
git remote add origin https://github.com/用户名/xxx.git
$git fetch origin //获取远程更新
$git merge origin/master //把更新的内容合并到本地分支
Code-managed Learning progress bar
|
lines of code (new/cumulative) |
Blog Volume (Add/accumulate) |
Learning Time (new/cumulative) |
Important Growth |
Goal |
5000 rows |
30 Articles |
400 hours |
|
First week |
30/30 |
1/1 |
8/8 |
|
Second week |
|
|
|
|
Third week |
|
|
|
|
Week Four |
|
|
|
|
Week Five |
|
|
|
|
2018-2019-1 20165230 "Information Security system Design Fundamentals" Second week study summary