学年

教科

質問の種類

情報 大学生・専門学校生・社会人

2進数に関するご質問です なぜ「111」が「マイナス1」に、「110」が「マイナス2」になるのかがわかりません。 負の数を表す2進数を10進数に戻す方法がわかりません よろしくお願いします🙇🏻‍♀️

問 3 (FE-H30-S-01) 111 110 |101 イ ある整数値を負数を2の補数で表現する2進表記法で表すと最下位2ビッ りに関する記述として, 適切なものはどれか。 ここで,除算の商は、絶対 トは “11” であった。 10進表記法の下で,その整数値を4で割ったときの余 値の小数点以下を切り捨てるものとする。 解説 具体例を考えるとわかりやすいので、下記の 「3ビットの2進数」の例を想定します。 100 ア その整数値が正ならば3 ウ その整数値が負ならば3 → マイナス1 (▼) → マイナス2 → マイナス3 → マイナス4 イ その整数値が負ならば-3 エ その整数値の正負にかかわらず 0 2011 →プラス3 (▲) 2010 → プラス2 2001 → プラス1 1000 →ゼロ 問題文の 「負数を2の補数で表現する2進表記法で表すと最下位2ビットは “11”」 であるケースは、 上記の です。 それぞれについて、問題文の<10進表記法の下で, その整数値を4で割った 除算の商は、絶対値の小数点以下を切り捨てるものとする>を計 算して、各選択肢に当てはめてみます。 ときの余り、(中略) ここで, ア その整数値が正ならば3 マイナス1 (▼) 上記の条件に該当しません。 プラス3 (▲) 3÷4=0.75 上記★★の下線部より、0.75の小数点以下が切り捨てられて、商 は「0」、余りは「3」 <0×4+3=3> です。 したがって、本選択肢が正解です。 ●その整数値が負ならば-3 マイナス1 商は「0」、 プラス3(▲) 上記の条件に該当しません。 ・-1÷4=-0.25 上記の下線部より、 0.25の小数点以下が切り捨てられて、 ◆余りは「-1」 <0×4+ (-1)=-1>です。 したがって、誤りです。 ●その整数値が負ならば3 上記◆の下線部は、上記の下線部と同じですので、上記 工 その整数値の正負にかかわらず0 の下線部より、本選択肢は誤りです。 上記ア~ウの各選択肢で検討したように、マイナス1(▼)とプラス3(▲)の両方とも、余りが「0」 になることはありません。

回答募集中 回答数: 0
情報 大学生・専門学校生・社会人

vsコードを使ってJava言語の勉強をしてたんですけど初心者すぎて何が原因で上手くコードの実行ができてないのかわかりません… 勉強の資料として使ってるのは京都大学のJavaによるプログラミング入門 です。

17:43 7月27日 (木) 1.7 使用するサンプルプログラム (TankCalculator.java) 1: public class Tank Calculator { 2: public static void main (String args[]){ final double FLOW_RATE = 1.0; final double TANK_AREA = 20.0; final double INITIAL_LEVEL = 10.0; double time; //s double tankLevel; //m ... ocw.kyoto-u.ac.jp 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: time = 30; 14: tankLevel = INITIAL_LEVEL + FLOW_RATE*time/TANK_AREA; 15: System.out.println("Tank Level at time "+ time + "s = " + tankLevel + "m"); 16: 17: 18: 19: } 20:} 11 System.out.println("Flow Rate = + FLOW_RATE + "m** 3/s"); System.out.println("Tank Area=" + TANK_AREA + "m**2"); System.out.println("Initial Level = " + INITIAL_LEVEL + "m"); time = 60; tankLevel = INITIAL_LEVEL + FLOW_RATE*time/TANK_AREA; System.out.println("Tank Level at time "+ time + "s=" + tankLevel + "m"); 【補足】 // の後ろは,プログラムを後で読解しやすくするための注釈です. Flow Rate = 1.0m**3/s Tank Area = 20.0mm**2 Initial Level = 10.0m 8 Tank Level time 30.0s = 11.5m Tank Level at time 60.0s = 13.0m 1.7.1 サンプルプログラムの入力と実行 先ほどと同じように, 秀丸エディタを開き, 20行のプログラムを書き込んで, Tank Calculator.java と名付け, 保存して, コンパイル, 実行してください. 成功すれば,以下の実行結果が示されます。(失敗してもめげないで, 2.5.1 節を参 考に、原因を考え,再トライしてください) ちなみに, 実行結果をファイルに書き出すにはコマンドプロンプトの「リダイレク ト」 という機能を使います 11. java TankCalculator > result.txt これにより result.txt というファイルが出来ているはずです。 中身は数値や文字列 だけのテキストファイルですのでエディタなどで内容を確認できます。 @91% 11javaプログラムの中で明示的にフ ァイルに出力することもできるので すがここでは安直な方法を取ります

未解決 回答数: 1