・Javaソースダウンロード(MultipliedBitshift1.java)
足し算とビットシフトを使った掛け算メソッドのJavaソースコードです。2進数の筆算をプログラム化したものです。
このソースについての記事はこちら「足し算とビットシフトによる掛け算」です。
MultipliedBitshift1.javaをダウンロード
ダウンロードしたファイルはzip形式です。解凍して使ってください。Windowsの場合、ダウンロードしたzipファイルをマウスの右ボタンでクリックして表示されるポップアップメニューから「すべて展開(T)」で解凍できます。
public class MultipliedBitshift1 { // 左ビットシフトと足し算による掛け算 a×b static int multiplied( int a, int b ) { // 変数の宣言 int ans; int checkbit; // aとbのどちらかが0なら0を戻す if ( ( 0 == a ) || ( 0 == b ) ) return 0; // bのビットの有無を確認するための値 checkbit = 1; // 結果ansの初期値に0を代入 ans = 0; // 32回(32ビット)のループを作成 for ( int i = 0; i < 32; ++ i ) { // checbitの位置のビットが1たっだら // ansにaを足す if ( 0 != ( b & checkbit ) ) ans += a; // aを左シフト(×2) a = a << 1; // checkbitを左シフト(×2) checkbit = checkbit << 1; } // 結果を戻す return ans; } // メイン public static void main( String[] args ) { // 変数の宣言 int a, b, ans; // 29×25=725 a = 29; b = 25; ans = multiplied( a, b ); System.out.println( a + "×" + b + "=" + ans ); // 33×109=3597 a = 33; b = 109; ans = multiplied( a, b ); System.out.println( a + "×" + b + "=" + ans ); // 10001×8828=88288828 a = 10001; b = 8828; ans = multiplied( a, b ); System.out.println( a + "×" + b + "=" + ans ); } }
このソースについての記事はこちら「足し算とビットシフトによる掛け算」です。
■新着情報
2022.07.07 | 外部プログラムの実行 | exeファイル実行 |
2022.07.06 | 完全数 | 6=1+2+3 |
■広告