学年

教科

質問の種類

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

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
情報 大学生・専門学校生・社会人

c言語プログラム 本当に分かりません。 どなたか教えてください

(2点) 【演習3】 if-else と繰り返し文 最大値(整数)と整数xをキー入力すると、1から最大値までの整数を順に表示するプログラムを if-else 文および for文を使って作成せよ。 ただし、最大値が10~50以外の場合、または整数 x が 2~9以外で 入力された場合は、「範囲エラー」 を表示すること。 また、1から最大値までの整数を表示する際、表示 する整数が整数xで割り切れる場合は を、 割り切れない場合はその整数を表示すること。 xで割り切れる値は☆を表示 <ソースプログラム> #include <stdio.h> int main (void){ イント2 ント5 } printf("最大値: "); /* 変数宣言*/ return 0; printf(" 整数x: "); cats ; /*キー入力*/ // *キー入力*/ <実行例①> |最大値: 10 ↓ 整数x2↓ 13579☆ <実行例②> |最大値: 50 ↓ 整数x 91 12345678 10 11 12 13 14 15 16 17 19 | 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 ★ 37 38 39 40 41 42 43 44 46 47 48 49 50 <実行例③> 最大値: 9 整数x2↓ 範囲エラー <実行例⑤ > 最大値: 10 ↓ 整数X : 1↓ 範囲エラー <実行例④ > | 最大値: 51 ↓ 整数X ↓ 範囲エラー <実行例⑥ > 最大値: 50 ↓ 整数x : 10↓ 範囲エラー (下線部はキー入力を、↓は Enter を示す)

未解決 回答数: 1
1/4