
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
もうちょい細かい条件を追ったところ, おそらく
・加算
・右シフト
・代入またはメソッド呼び出し
の 3つの演算があればあとは努力と根性でなんとかなる. 左シフトは加算 (と代入またはメソッド呼び出し) で代用できるのでなくてもいける. 型を固定すれば比較も使わずにすみそう.
ただし「なんとかなる」だけであって
かなりアホなプログラム
になる.
No.5
- 回答日時:
Java の言語仕様を確認してみた.
厳密な意味で「シフト演算の組合わせと除算(/)と加算(+)のみ」っていわれると
比較や代入ができない
のでなんともならん気がする. あと, 「任意の正の整数」で 9^9371 とかもってこられるとさすがにアウトだと思う.
「int (または long) で表すことのできる正の整数で結果もその範囲に収まる」なら, シフト・加算・比較・代入の 4つでいける. むしろ除算が不要.
No.3
- 回答日時:
かなり変態的な操作になるけど, 左シフトと右シフトを駆使すれば除算や減算は不要な気がする>#2.
例えば
x << 28 >>> 31
で x の下から 3ビット目あたりが出てきそう.
No.2
- 回答日時:
#1ですが、先の回答ではシフトと加算については触れているが、除算の用途について言及していないので、それについてちょっと追加。
この問題での除算の用途は、10x7を例にすると、7を4+2+1に分解するのにつかわれます。7 -> 4+2+1は乗数(あるいは被乗数)を2の累乗の数の和に分解しています。
7を2の累乗数である4で割った余りが3となり、その3を2で割った余りが1となる。こういう演算を繰り返すことによって、乗数を2の累乗の和に分解するわけだが、ここで除算が使われる。ただ剰余演算は使えないということだろうから、余りを求めるには除算と減算を使う必要があると思うのだが、減算も使えないとなるとそのあたりちょっと工夫が必要になるでしょう。
No.1
- 回答日時:
課題なので、ヒントだけ。
たとえば、10x7をどう実行するか考える。
10x7 = 10 x (4+2+1) = 10x4 + 10x2 + 10x1
10x4は二進にすると、10の二進数を左に2ビットだけシフトしたもの。
10x2は二進では、10の二進数を左に1ビットだけシフトしたもの。
10x1はなにもしない。
これらを足し合わせれば10x7を求めることができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 情報処理技術者・Microsoft認定資格 2進数の問題を教えてください。 1 2022/07/27 09:42
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- システム CPUの問題について 2 2022/07/09 12:04
- 数学 小学生がたった1日で19×19までかんぺきに暗算できる本、のおみやげ算。数学的に言うと何? 3 2023/04/07 09:35
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- C言語・C++・C# プログラミング初心者です。 演算子を習い、自力で計算機を作ろうと思い、写真のようなプログラムを書きま 2 2022/08/14 21:27
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- C言語・C++・C# 1. 仮想CPU「exmini」を使用して,「$dataからn減算する」プログラムを作成してください 2 2022/07/04 17:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
初心者によるプログラム
-
VB6.0 DataGridでのfirstRowの...
-
jsp~jspにhiddenを使って変数...
-
整数xxxが大き過ぎますというエ...
-
DataTableの値を変数に代入したい
-
Excel VBAでイコール二回使えま...
-
DataColumn型の使用方法
-
【Excelマクロ】グラフの最小値...
-
JavaScriptをURLから直接実行し...
-
【VBA】複合代入演算子
-
テキストエディタ作成で「元に...
-
gridViewの行選択解除
-
Excel-vba 文字列と変数を...
-
定数のメリットとは?
-
VBAの定数の使い方で、計算値を...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
VBAで配列のNULL判定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
jsp~jspにhiddenを使って変数...
-
整数xxxが大き過ぎますというエ...
-
C言語 アロー演算子について質...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
テキストボックスの値を変数に...
-
processing エラーで、 "cannot...
-
Accessコンボボックスにレコー...
-
DataTableの値を変数に代入したい
-
条件演算子 ? :
-
インクリメント演算子の前置(+...
-
プログラミングで変数と関数の...
-
gridViewの行選択解除
-
無名関数のメリットがよくわか...
-
stdpicture型の変数に、、
-
論理演算子について
-
COBOLの変数
おすすめ情報