Enviar búsqueda
Cargar
kagami_comput2016_03
•
0 recomendaciones
•
647 vistas
S
swkagami
Seguir
kagami_comput2016_03
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 16
Descargar ahora
Descargar para leer sin conexión
Recomendados
kagami_comput2016_02
kagami_comput2016_02
swkagami
kagamicomput201702
kagamicomput201702
swkagami
kagamicomput201703
kagamicomput201703
swkagami
kagamicomput201701
kagamicomput201701
swkagami
kagami_comput2016_07
kagami_comput2016_07
swkagami
kagami_comput2015_2
kagami_comput2015_2
swkagami
kagamicomput201802
kagamicomput201802
swkagami
kagami_comput2016_01
kagami_comput2016_01
swkagami
Recomendados
kagami_comput2016_02
kagami_comput2016_02
swkagami
kagamicomput201702
kagamicomput201702
swkagami
kagamicomput201703
kagamicomput201703
swkagami
kagamicomput201701
kagamicomput201701
swkagami
kagami_comput2016_07
kagami_comput2016_07
swkagami
kagami_comput2015_2
kagami_comput2015_2
swkagami
kagamicomput201802
kagamicomput201802
swkagami
kagami_comput2016_01
kagami_comput2016_01
swkagami
kagami_comput2016_06
kagami_comput2016_06
swkagami
kagamicomput201707
kagamicomput201707
swkagami
kagamicomput201706
kagamicomput201706
swkagami
kagamicomput201704
kagamicomput201704
swkagami
kagami_comput2015_6
kagami_comput2015_6
swkagami
kagami_comput2016_04
kagami_comput2016_04
swkagami
kagami_comput2016_05
kagami_comput2016_05
swkagami
kagamicomput201710
kagamicomput201710
swkagami
kagami_comput2016_10
kagami_comput2016_10
swkagami
kagamicomput201806
kagamicomput201806
swkagami
kagamicomput201803
kagamicomput201803
swkagami
kagami_comput2016_08
kagami_comput2016_08
swkagami
kagamicomput201712
kagamicomput201712
swkagami
kagamicomput201709
kagamicomput201709
swkagami
kagami_comput2016_09
kagami_comput2016_09
swkagami
kagami_comput2015_8
kagami_comput2015_8
swkagami
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
kagamicomput201711
kagamicomput201711
swkagami
kagami_comput2016_11
kagami_comput2016_11
swkagami
kagami_comput2016_12
kagami_comput2016_12
swkagami
kagami_comput2015_12
kagami_comput2015_12
swkagami
kagami_comput2016_14
kagami_comput2016_14
swkagami
Más contenido relacionado
La actualidad más candente
kagami_comput2016_06
kagami_comput2016_06
swkagami
kagamicomput201707
kagamicomput201707
swkagami
kagamicomput201706
kagamicomput201706
swkagami
kagamicomput201704
kagamicomput201704
swkagami
kagami_comput2015_6
kagami_comput2015_6
swkagami
kagami_comput2016_04
kagami_comput2016_04
swkagami
kagami_comput2016_05
kagami_comput2016_05
swkagami
kagamicomput201710
kagamicomput201710
swkagami
kagami_comput2016_10
kagami_comput2016_10
swkagami
kagamicomput201806
kagamicomput201806
swkagami
kagamicomput201803
kagamicomput201803
swkagami
kagami_comput2016_08
kagami_comput2016_08
swkagami
kagamicomput201712
kagamicomput201712
swkagami
kagamicomput201709
kagamicomput201709
swkagami
kagami_comput2016_09
kagami_comput2016_09
swkagami
kagami_comput2015_8
kagami_comput2015_8
swkagami
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
kagamicomput201711
kagamicomput201711
swkagami
kagami_comput2016_11
kagami_comput2016_11
swkagami
kagami_comput2016_12
kagami_comput2016_12
swkagami
La actualidad más candente
(20)
kagami_comput2016_06
kagami_comput2016_06
kagamicomput201707
kagamicomput201707
kagamicomput201706
kagamicomput201706
kagamicomput201704
kagamicomput201704
kagami_comput2015_6
kagami_comput2015_6
kagami_comput2016_04
kagami_comput2016_04
kagami_comput2016_05
kagami_comput2016_05
kagamicomput201710
kagamicomput201710
kagami_comput2016_10
kagami_comput2016_10
kagamicomput201806
kagamicomput201806
kagamicomput201803
kagamicomput201803
kagami_comput2016_08
kagami_comput2016_08
kagamicomput201712
kagamicomput201712
kagamicomput201709
kagamicomput201709
kagami_comput2016_09
kagami_comput2016_09
kagami_comput2015_8
kagami_comput2015_8
Binary indexed tree
Binary indexed tree
kagamicomput201711
kagamicomput201711
kagami_comput2016_11
kagami_comput2016_11
kagami_comput2016_12
kagami_comput2016_12
Destacado
kagami_comput2015_12
kagami_comput2015_12
swkagami
kagami_comput2016_14
kagami_comput2016_14
swkagami
kagami_comput2015_13
kagami_comput2015_13
swkagami
kagami_comput2015_14
kagami_comput2015_14
swkagami
kagami_comput2015_10
kagami_comput2015_10
swkagami
kagami_comput2015_11
kagami_comput2015_11
swkagami
kagami_comput2015_9
kagami_comput2015_9
swkagami
kagami_comput2016_13
kagami_comput2016_13
swkagami
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
Shingo Inoue
HTML5クイズ!
HTML5クイズ!
yoshikawa_t
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
Takeo Kunishima
kagami_comput2015_4
kagami_comput2015_4
swkagami
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
Yossy Taka
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
Sonia Fernandes Bogo
La vida
La vida
viviramicasta
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
Computational Materials Science Initiative
kagami_comput2015_7
kagami_comput2015_7
swkagami
Destacado
(18)
kagami_comput2015_12
kagami_comput2015_12
kagami_comput2016_14
kagami_comput2016_14
kagami_comput2015_13
kagami_comput2015_13
kagami_comput2015_14
kagami_comput2015_14
kagami_comput2015_10
kagami_comput2015_10
kagami_comput2015_11
kagami_comput2015_11
kagami_comput2015_9
kagami_comput2015_9
kagami_comput2016_13
kagami_comput2016_13
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
HTML5クイズ!
HTML5クイズ!
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
kagami_comput2015_4
kagami_comput2015_4
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
La vida
La vida
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
kagami_comput2015_7
kagami_comput2015_7
Similar a kagami_comput2016_03
kagami_comput2015_3
kagami_comput2015_3
swkagami
計算機理論入門03
計算機理論入門03
Tomoyuki Tarumi
3 Info Theory
3 Info Theory
melvincabatuan
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現
Yu(u)ki IWABUCHI
足し算をつくろう
足し算をつくろう
Yoichi Toyota
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Tetsuya Yoshida
Similar a kagami_comput2016_03
(6)
kagami_comput2015_3
kagami_comput2015_3
計算機理論入門03
計算機理論入門03
3 Info Theory
3 Info Theory
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現
足し算をつくろう
足し算をつくろう
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Más de swkagami
kagamicomput201814
kagamicomput201814
swkagami
kagamicomput201813
kagamicomput201813
swkagami
kagamicomput201812
kagamicomput201812
swkagami
kagamicomput201811
kagamicomput201811
swkagami
kagamicomput201810
kagamicomput201810
swkagami
kagamicomput201809
kagamicomput201809
swkagami
kagamicomput201808
kagamicomput201808
swkagami
kagamicomput201807
kagamicomput201807
swkagami
kagamicomput201805
kagamicomput201805
swkagami
kagamicomput201804
kagamicomput201804
swkagami
kagamicomput201801
kagamicomput201801
swkagami
kagamicomput201714
kagamicomput201714
swkagami
kagamicomput201713
kagamicomput201713
swkagami
kagamicomput201708
kagamicomput201708
swkagami
kagamicomput201705
kagamicomput201705
swkagami
Más de swkagami
(15)
kagamicomput201814
kagamicomput201814
kagamicomput201813
kagamicomput201813
kagamicomput201812
kagamicomput201812
kagamicomput201811
kagamicomput201811
kagamicomput201810
kagamicomput201810
kagamicomput201809
kagamicomput201809
kagamicomput201808
kagamicomput201808
kagamicomput201807
kagamicomput201807
kagamicomput201805
kagamicomput201805
kagamicomput201804
kagamicomput201804
kagamicomput201801
kagamicomput201801
kagamicomput201714
kagamicomput201714
kagamicomput201713
kagamicomput201713
kagamicomput201708
kagamicomput201708
kagamicomput201705
kagamicomput201705
kagami_comput2016_03
1.
東北大学 工学部 機械知能・航空工学科 2016年度
5セメスター・クラスC3 D1 D2 D3 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 3. 数の表現 ― 符号つき整数 (教科書1.2節)
2.
2鏡 慎吾 (東北大学):
計算機工学 2016 (3) 負の数の表現 素朴な方法 (符号と絶対値法) 通常我々は,10進数の絶対値の前に – をつけて負の数を表す. 同様に,最上位ビットで符号を表し,残りで絶対値を表せばよい 10111011 符号ビット: 0: 正 1: 負 絶対値 問題点: •ゼロの表現が2通り存在する •加減算が煩雑になる → 通常は,2の補数表示と呼ばれる方式が用いられる
3.
3鏡 慎吾 (東北大学):
計算機工学 2016 (3) 「2の補数」表現による符号つき数 111 7 110 6 101 5 100 4 011 3 010 2 001 1 000 0 3ビットの場合: 2進のビット列 符号なし数 -1 -2 -3 -4 3 2 1 0 2の補数表現による符号つき数 000から1ずつ減らして行ったと きの表現を素直に考えるとよい • 一般にnビットの場合, – 2n-1 ~ (2n-1 – 1) の範囲の数を表せる • MSBが1であれば,負 の数である C言語では,各種の整数型に符号 なし,符号つきの種類がある. signed int, unsigned int signed short, unsigned short signed char, unsigned char
4.
4鏡 慎吾 (東北大学):
計算機工学 2016 (3) 2の補数の定義 n ビットの 2 進数において,ある数 x の 「2の補数 (2’s complement)」とは, 2n – x である (8 ビットなら,256 – x になる) 2の補数表示による n ビットの符号つき数とは, • 非負の数 x (0≦x ≦ 2n–1 – 1) を x の符号なし2進表示で, • 負の数 –x (0 < x ≦ 2n–1) を x の「2の補数」,すなわち (2n – x) の符号なし2進表示で 表したものである
5.
5鏡 慎吾 (東北大学):
計算機工学 2016 (3) 2の補数が使われる理由 01111010 = 122(10) +) 11111111 = -1(10) 101111001 = 121(10) なぜこのようにうまく行くのか? → 循環しているのがミソ 8ビットの場合,28を足すと一巡して元の数に戻る 28 – 1 を足すと,元の数より 1 少ない数に落ち着く 28 – x を足すと,元の数より x 少ない数に落ち着く (= 減算) (符号と絶対値法だと,数の並ぶ順序が変わってしまうのでこうはいかない: 0, 1, 2, …, 126, 127, -0, -1, -2, …, -126, -127) はみ出したビットは捨てる 符号を気にせず加算・減算を実行することができる
6.
6鏡 慎吾 (東北大学):
計算機工学 2016 (3) 例題 ファミリーコンピュータ用ゲーム「スーパーマリオブラザーズ」(任 天堂(株), 1985年) には,「無限1up」「無限増殖」などと呼ばれる テクニックが存在したことが知られている.すなわち,ある操作を 行うことで,プレイヤストック数 (ゲームオーバになるまでに許容さ れるミスの回数,残機数) を際限なく増加させ続けることが可能で あった. 一方,プレイヤストックを一定数以上に増やしすぎると,その後 たった一度のミスでゲームオーバになってしまうという現象も生じ た.内部でどのような処理が行われていたか推測して述べよ.
7.
例: アリアン5型ロケット打ち上げ失敗 8鏡 慎吾
(東北大学): 計算機工学 2016 (3) • 慣性基準装置が16ビット符号つき数からのオーバフローで エラーを起こした • そのエラー診断番号がフライトデータだとみなされてブース ターおよびエンジンのノズル方向が制御された • 迎角が20度以上になり,分解,爆発した • バックアップの慣性基準装置も同じエラーを起こしていた J. L. Lions et al.: ARIANE 5, Flight 501 Failure, Ariane 501 Inquiry Board Report, 1996. 1996年6月4日,欧州宇宙機関が 70億ユーロをかけて開発したアリ アン5型ロケットは,打ち上げ37秒 後に爆発した http://www.bloomberg.com/news/photo-essays/2012-08-07/when-software-catastrophe-strikes
8.
9鏡 慎吾 (東北大学):
計算機工学 2016 (3) 2の補数表現の符号つき数の操作 • 加減算 • 加算はそのまま計算するだけだということが分かった • 減算は,「引く数」に負号をつけて2の補数で表し,加算を 実行すればよい: 100 – 30 = 100 + (-30) • では,符号反転を行うには? • 符号反転(2の補数変換) • 「ビットを反転して1を足す」 • 2の補数表現 と 普通の10進正負の数の相互変換
9.
10鏡 慎吾 (東北大学):
計算機工学 2016 (3) 符号反転 x = 30 (10) → 00011110 (2) -x = -30 (10) → ? (2) x の2の補数 = 2n – x = (2n – 1) – x + 1 111…111 (1がn個並んだもの) 11111111 -) 00011110 11100001 繰り下がりが起きない! 結局 1 と 0 を反転させるだけ (「1の補数」と呼ばれる) それに1を足すと,符号反転結 果が得られる 11100001 +) 00000001 11100010 結論: 符号反転をするには,各ビットを反転し,1を加えればよい 正→負,負→正 のどちらでもOK (∵2n – (2n - x) = x)
10.
11鏡 慎吾 (東北大学):
計算機工学 2016 (3) 10進の正負の数との変換 10進 → 2進: • 絶対値を2進数で表現 • 正の数であれば,それで終わり • 負の数であれば,符号反転処理 • または,絶対値を 2n から引いたものを2進数で表現 2進 → 10進: • MSBが0か1か? • 0であれば非負なので,そのまま10進数へ変換 • 1であれば負なので, • 符号反転処理をしてから10進数へ変換し,負号を つける • または,まず10進数へ変換して,それを2nから引 いて,負号をつける
11.
12鏡 慎吾 (東北大学):
計算機工学 2016 (3) 10進の正負の数との変換 10進 → 2進: • 正の数であれば,そのまま2進数で表示 • 負の数であれば, 方法1) 絶対値を2進表示し,符号反転 方法2) 絶対値を 2n から引いたものを2進表示 2進 → 10進: • MSBが0であれば非負なので,そのまま10進数へ変換 • MSBが1であれば負なので, 方法1) 符号反転処理をしてから10進数へ変換し,負号 をつける 方法2) 10進数へ変換したものを 2n から引いて,負号 をつける
12.
13鏡 慎吾 (東北大学):
計算機工学 2016 (3) 例題 1. 10010110 (2進8ビット,2の補数表現の符号つき数) を10進 数に変換せよ 2. –50 (10進数) を 8 ビットの2の補数表現の符号つき2進数で 表せ.
13.
14鏡 慎吾 (東北大学):
計算機工学 2016 (3) 例題 解答例 1. MSB = 1 なので負の数である. 方法1) まず符号反転処理してから10進に変換し,負号をつける 10010110 → 01101001 +) 1 01101010 → 106 → -106 方法2) まず10進数に変換して,それを256から引いて負号をつける 10010110 → 01101001 +) 1 01101010 → 106 → -106 10010110 (正数だと思って変換) → 150 → -(256-150)= -106 2. 方法1) 50 を符号反転する.50 = 32 + 16 + 2 = 00110010(2) なので,11001101(2) + 1 = 11001110(2) 方法2) 256 – 50 = 206 = 128 + 64 + 8 + 4 + 2 = 11001110(2)
14.
15鏡 慎吾 (東北大学):
計算機工学 2016 (3) 符号拡張とゼロ拡張 あるビット長の2進数を,より長いビット長の2進数に変換すると き,MSB 側を符号ビットで埋める方法を符号拡張と呼ぶ.2の 補数表示の符号つき数の拡張の際に用いられる. 11111111 11111000 = –8(10) 11111111 11111111 11111111 11111000 00000000 00001000 = 8 (10) 00000000 00000000 00000000 00001000 16ビットから32ビットへの符号拡張の例: これに対して,常にゼロで埋める方法をゼロ拡張と呼ぶ.符号 なし数の拡張に用いられる. = 8 (10) = –8(10) (–8 : 「あと8 増やせば 2n になる数」)
15.
16鏡 慎吾 (東北大学):
計算機工学 2016 (3) 練習問題 8ビットの符号つき数 (a) 00101100 (b) 11101101 (c) 10100101 をそれぞれ, 1) 10 進数,16進数で表せ 2) 符号を反転した数を,2の補数表示の符号つき数で表せ 3) 16ビットに符号拡張せよ 4) (a) を 3ビット右シフトし,元の数の8分の1になっている かどうか調べよ.
16.
17鏡 慎吾 (東北大学):
計算機工学 2016 (3) 練習問題 解答例 1) 10進数: (a) 44 (b) – 19 (c) – 91 16進数: (a) 2c (b) ed (c) a5 2) (a) 11010100 (b) 00010011 (c) 01011011 3) (a) 00000000 00101100 (b) 11111111 11101101 (c) 11111111 10100101 4) 000000101 (44/8 の小数点以下切捨てになっている) 1) 正の数は普通に変換する.負の数は,10進にしてから 28 から引くか,符号 反転してから10進にするか.どうせ(2)で符号反転するんだから,後者の方 が楽かも. 2) ビット反転して 1 を足す. 3) MSBで拡張する. 4) 定義どおり計算.
Descargar ahora