Problem A: Radix 3.

Slides:



Advertisements
Similar presentations
2009/11/10 10 進数と r 進数を相互に変換できる コンピュータのための数を表現できる 2進数の補数を扱える コンピュータにおける負の数の表現を説明で きる コンピュータでの演算方法を説明できる 文字や記号の表現方法を示せる 第7回 今日の目標 § 2.2 数の表現と文字コード.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
C 言語講座第 5 回 構造体. 構造体とは ... 異なる型の値をまとめて新しい型とする 機能がある . つまり , 複数の変数を 1 つのまとまりにできる . 配列と違って同じ型でデータをまとめるのではな く違った型のデータをまとめられる .
プログラムのパタン演習 解説.
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
2012年度 計算機システム演習 第3回 白幡 晃一.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
基礎プログラミングおよび演習 第9回
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
香川大学工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学工学部 富永浩之
プログラミング演習II 2004年12月 21日(第8回) 理学部数学科・木村巌.
アルゴリズムとデータ構造 第2回 線形リスト(復習その2).
Linuxカーネルについて 2014/01.
演習問題の答え #include #include #define NUM 5 typedef struct { // 構造体の定義 float shincho; // 身長 float taiju; // 体重 } shintai; void hyouji(shintai.
第7回 条件による繰り返し.
Linux にログインし、以下の講義ページを開いておくこと
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
Linux にログインし、以下の講義ページを開いておくこと
Linux にログインし、以下の講義ページを開いておくこと
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
情報処理Ⅱ 第2回 2007年10月15日(月).
第11回 宿題 出題日:12月21日 締切日:1月7日(木).
木の走査.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
高度プログラミング演習 (03).
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
メモリの準備 メモリには、その準備の方法で2種類ある。 静的変数: コンパイル時にすでにメモリのサイズがわかっているもの。 普通の変数宣言
プログラミング入門2 第11回 情報工学科 篠埜 功.
第7回 条件による繰り返し.
Excel 2002,2003基本12 情報関数.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
9. 演算回路 五島 正裕.
2005年度 データ構造とアルゴリズム 第6回 「ハッシュ法を用いた探索」
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
整数データと浮動小数データ.
型の compatibility とポインタ演算
情報処理Ⅱ 第2回:2003年10月14日(火).
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌.
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
補講:アルゴリズムと漸近的評価.
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
PROGRAMMING IN HASKELL
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
9. 演算回路 五島 正裕.
香川大学創造工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学創造工学部 富永浩之
情報処理Ⅱ 2005年10月28日(金).
PROGRAMMING IN HASKELL
第2章 printf(“変数と入力”); scanf(“%d”,&num);
ループだよ!難しいよ! 第5章 while(ループ);.
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
プログラミング 4 文字列.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習I 数値計算における計算精度と誤差
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング演習II 2003年11月19日(第6回) 木村巌.
プログラミング演習II 2003年12月10日(第7回) 木村巌.
情報処理Ⅱ 小テスト 2005年2月1日(火).
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
香川大学創造工学部 富永浩之 情報数学1 第3-3章 多進法での四則演算 香川大学創造工学部 富永浩之
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
プログラミング 3 ポインタ(1).
Presentation transcript:

Problem A: Radix 3

問題概要 十進数の数値を、変則的な三進数で表す 一般的な三進数 : (2, 1, 0 が使える) 11 = 32×1 + 31×0 + 30×2 = (102)3 変則三進数 (GSC) : (1, 0, -1 が使える) 11 = 32×1 + 31×1 + 30×(-1) = (11-)GSC

ただの三進数なら 11 mod 3 = 2 3 mod 3 = 0 1 mod 3 = 1 11 / 3 = 3 3 / 3 = 1 1 / 3 = 0 ⇒ 終了 A: (1 0 2)3

これでもほとんど同じ 11 mod 3 = 2 4 mod 3 = 1 1 mod 3 = 1 11 / 3 = 3 4 / 3 = 1 1 / 3 = 0 ⇒ 終了 A: (1 1 - )GSC +1

負数のときは? (-11) mod 3 = -2 (-4) mod 3 = -1 (-1) mod 3 = 0 (-11) / 3 = -3 (-4) / 3 = -1 (-1) mod 3 = 0 (-1) / 3 = 0 ⇒ 終了 A: (- - 1 )GSC -1

ただし! 非除数が負の「除算」・「剰余算」の結果は ANSI C では実は不定 (CPU・処理系に依存) 関数 div() #include <stdlib.h> div_t div(int num, int denom); typedef struct div_t { int quot; /* 商 */ int rem; /* 剰余 */ };

負数のときは? (2) ...と、まじめにやってもよいが、 ぶっちゃけ 8 = (1 0 - )GSC -8 = ( - 0 1 )GSC ‘1’ を ‘-’ に ‘-’ を ‘1’ に、するだけ

ただし! (2) 今回の値の範囲は まあ、一般的な符号付整数の範囲ですが... それは実は (-231) ~ (231-1) 負数を整数に直して、 -(-231) = 231 : オーバーフロー! ってなことにはならないように...

出典 South Africa Regional Contest, 2002 Problem 1: Radix 3