This powerpoint presentation was put together by Keith Horton, Commission of the Georgia Department of Human Services, and Sharon Hill, Director of the Georgia Department of Family and Children Services, and presented on January 9 as a part of our annual Georgia Children's Advocacy Network (GA-CAN!) Pre-Legislative Session Forum.
A second more complete look at Orientech, a high speed assembly automation engineering group.
Orientech owns several patented technologies allowing the feeding, placement and assembly of hard to handle parts.
Innovative technology for small part assemblies
This powerpoint presentation was put together by Keith Horton, Commission of the Georgia Department of Human Services, and Sharon Hill, Director of the Georgia Department of Family and Children Services, and presented on January 9 as a part of our annual Georgia Children's Advocacy Network (GA-CAN!) Pre-Legislative Session Forum.
A second more complete look at Orientech, a high speed assembly automation engineering group.
Orientech owns several patented technologies allowing the feeding, placement and assembly of hard to handle parts.
Innovative technology for small part assemblies
2. Kod uzupełnieniowy
Binarny zapis liczby całkowitej, w którym najstarszy
bit jest bitem znaku, a pozostałe to bity modułu,
oznaczające liczbę.
np.
11010101110110
bit znaku bity modułu
3. Kod znak-moduł (ZM)
jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest niedodatnia
dwie reprezentacje 0
zakres dla 1 bajta: od -127 do 127
w działaniach uczestniczą tylko moduły liczb
obliczanie wartości:
LZM = (-1)bit znaku × moduł liczby
np.
0011(ZM) = 3(10) przeliczenie: (-1)0 x (21 + 20)
1101(ZM) = -5(10) przeliczenie: (-1)1 x (22 + 20)
4. Przeliczanie liczb dziesiętnych na liczby
ZM
Wyznaczyć bity modułu wartości bezwzględnej liczby (bez
minusa)
9(10) = 1101(2)
Uzupełnić bitami o wartości 0, by uzyskać o jeden bit mniej niż
długość formatu
0001101
Jako najstarszy wpisać bit znaku: 0 dla liczby dodatniej lub 1 dla
liczby ujemnej
9(10) = 00001101(ZM)
5. Kod uzupełnień do jedności (U1)
jeśli bit znaku ma wartość 0, liczba jest nieujemna, jeśli ma 1, jest
niedodatnia
dwie reprezentacje 0
zakres dla 1 bajta: od -127 do 127
wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym
obliczanie wartości ujemnych (n - ilość bitów w liczbie):
LU1 = (-2n-1+1) + moduł liczby
np.
0101(U1) = 5(10 ) przeliczenie: 22 + 20
1001(U1) = -6(10) przeliczenie: (-23+ 1) + 20
6. Przeliczanie dodatnich liczb dziesiętnych
na liczby U1
Wyznaczyć bity w systemie binarnym
76(10) = 1001100(2)
Uzupełnić bitami o wartości 0 do długości formatu
76(10) = 01001100(U1)
7. Przeliczanie ujemnych liczb dziesiętnych
na liczby U1
Wyznaczyć bity modułu wartości bezwzględnej liczby (bez
minusa)
113(10) = 1110001(2)
Uzupełnić bitami o wartości 0 do długości formatu
01110001
Zanegować wszystkie bity (nadać im wartości przeciwne)
-113(10) = NOT 01110001 = 10001110(U1)
8. Przeliczanie ujemnych liczb dziesiętnych
na liczby U1 - sposób 2.
Wyznaczyć wartość 2n - 1 + liczba
28 - 1 + (-113) = 256 - 1 - 113 = 142
Otrzymaną wartość zakodować w naturalnym systemie
binarnym
142(10) = 10001110(2)
(-113)(10) = 10001110(U1)
9. Kod uzupełnień do dwóch (U2)
najczęściej używany - działania wykonywane jak na zwykłych liczbach
binarnych
jeśli bit znaku ma wartość 0, liczba jest dodatnia lub równa 0, jeśli ma 1,
jest ujemna
jedna reprezentacja 0, zawsze o jedną więcej liczb ujemnych niż dodatnich
zakres dla 1 bajta: od -128 do 127
wartości dodatnie oblicza się tak, jak w naturalnym kodzie binarnym
obliczanie wartości ujemnych (n - ilość bitów w liczbie):
LU2 = (-2n-1) + moduł liczby
np.
0011(U2) = 4(10 ) przeliczenie: 21 + 20
1011(U2) = -5(10 ) przeliczenie: (-23) + 21 + 20
10. Wyznaczanie liczby przeciwnej w kodzie
U2
Zanegować wszystkie bity w zapisie U2
NOT 01101110= 10010001
Do wyniku dodać 1
10010001 + 00000001 = 10010010
11. Wyznaczanie liczby przeciwnej w kodzie
U2 - sposób 2.
Przejść do najmłodszego bitu liczby
0010010000
Do wyniku przepisać kolejne bity 0, aż do napotkania bitu 1,
który też przepisać
0010010000 Wynik: 10000
Wszystkie pozostałe bity zanegować i przepisać
Wynik: 1101110000
12. Przeliczanie dodatnich liczb dziesiętnych
na liczby U2
Wyznaczyć bity w systemie binarnym
76(10) = 1001100(2)
Uzupełnić bitami o wartości 0 do długości formatu
76(10) = 01001100(U2)
13. Przeliczanie ujemnych liczb dziesiętnych
na liczby U2
Wyznaczyć wartość 2n-1 + liczba
27 + (-45) = 128 - 45 = 83(10) = 1010011(2)
W razie potrzeby uzupełnić zerami, dodać bit znakowy 1
11010011(U2)
14. Przeliczanie ujemnych liczb dziesiętnych
na liczby U2 - sposób 2.
Wyznaczyć zapis binarny liczby przeciwnej (dodatniej)
45(10) = 101101(2)
Uzupełnić bitami 0 do długości formatu
00101101
Wyznaczyć liczbę przeciwną
(-45)(10) = 11010011(U2)
15. Przeliczanie ujemnych liczb dziesiętnych
na liczby U2 - sposób 3.
Do liczby 2n dodać przeliczaną liczbę dziesiętną
28 + (-45) = 256 - 45 = 211
Zamienić otrzymaną liczbę na postać binarną
211 = 11010011(2)
(-45)(10) = 11010011(U2)