[CodeUp基礎100題]6046号Python解答


質問する


ビット切替演算


1個の整数を入力し、2倍の出力を掛けます.

リファレンス


*計算2の値を出力できます.
整数を2で乗算または除算したビット単位切替演算子<,>.
これらの値はコンピュータ内部にバイナリ形式で格納されます.
バイナリ形式で格納された値を左(<)または右(>>)に移動します.
指定されたビット数で押すと、2倍になったり、1/2になったりすることができます.
左ビット切り替え(<<)すると、右側に所定の0が追加されます.
右ビット切り替え(>>)の場合は、左側に0(0または正の整数)または1(負の整数の場合)を追加します.
右端の1位が消える.


n = 10
印刷(n<<1)#10の2倍、すなわち20.
print(n>>1)#10ペア半の値5を出力します.
印刷(n<<2)#10の4倍、すなわち40.
print(n>>2)#10が半分に分割された後、再び半分に分割された値2が出力される.

入力例

1024

出力例

2048

答案用紙


モデルの答え

n = int(input())
print(n<<1)

私の答え

n = int(input())
result = n << 1
print(result)

に答える


説明する


input():ユーザーに入力を求めます.
(ただし、入力した内容は文字列として保存されます.print(type()))でtype()カッコに変数を挿入すると、整数、文字列、またはタイプを特定できます!)
int():前述したinput()のように、入力として受信した値は文字列として格納される.
算術演算のためにint()を使用して文字列を整数に変換します.
<<(左ビット切替演算子):数値を乗じた演算子(内部はコンピュータ言語のバイナリ接尾辞0)
2 << 1 = 4
2 << 2 = 8
2 << 3 = 16
print():カッコ内の内容を出力!

TIL(今日習った)


<<(左ビット切り替え演算子):


数値を乗算する演算子(コンピュータ言語のバイナリ数値の最後に0を加算)
2 << 1 = 4
2 << 2 = 8
2 << 3 = 16
ex)
2のバイナリ表現は0010
2 << 1 = 4
0010 + 0 = 0000 0100 = 0100 = 4

>>(右端切り替え演算子)


分割数の演算子(内部はコンピュータ言語のバイナリ数の後に0を減算)
2 >> 1 = 1
2 >> 2 = 0
2 >> 3 = 0
ex)
2のバイナリ表現は0010
2 >> 1 = 4
0010 - 0 = 0001