回答編集履歴
7
修正
test
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
binで2進数表記すると先頭の0は消えるのでそのせいで32bit未満で1から始まるようにみえるのでは.その性質上「0」以外にbinで1から始まらない数は無いです.あとbinは'0b'が付加されるので長さは本来のものより2長くなります.
|
2
2
|
|
3
|
-
0.1を2進数表記するのは大変なので簡単のため0.5を例にとって説明します.
|
3
|
+
0.1を2進数表記するのは大変なので簡単のため0.75を例にとって説明します.
|
4
4
|
|
5
|
-
例えば0.5は`1.
|
5
|
+
例えば0.75は2進数で0.11であり,`1.1(2進数) * 2**-1`なので
|
6
6
|
符号部: `0`
|
7
7
|
指数部: `01111110` = -1(指数)+127(バイアス値)
|
8
|
-
仮数部: `0000000000000000000000
|
8
|
+
仮数部: `10000000000000000000000` = 1.10000000000000000000000の小数部分
|
9
9
|
となり,単精度浮動小数としては
|
10
|
-
`0011111100000000000000000000000
|
10
|
+
`00111111010000000000000000000000`
|
11
11
|
になります.
|
12
|
-
このバイナリをuintとして解釈すると105
|
12
|
+
このバイナリをuintとして解釈すると1061158912です.
|
13
13
|
そしてbin関数で2進数表記すると先頭の「0」2つは省かれ,'0b'が付加されて
|
14
|
-
`'0b11111100000000000000000000000
|
14
|
+
`'0b111111010000000000000000000000'`
|
15
15
|
と表示されます.
|
16
16
|
|
6
修正
test
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
となり,単精度浮動小数としては
|
10
10
|
`00111111000000000000000000000000`
|
11
11
|
になります.
|
12
|
-
こ
|
12
|
+
このバイナリをuintとして解釈すると1056964608です.
|
13
13
|
そしてbin関数で2進数表記すると先頭の「0」2つは省かれ,'0b'が付加されて
|
14
14
|
`'0b111111000000000000000000000000'`
|
15
15
|
と表示されます.
|
5
追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
binで2進数表記すると先頭の0は消えるのでそのせいで32bit未満で1から始まるようにみえるのでは.その性質上「0」以外にbinで1から始まらない数は無いです.あとbinは'0b'が付加されるので長さは本来のものより2長くなります.
|
2
|
+
|
3
|
+
0.1を2進数表記するのは大変なので簡単のため0.5を例にとって説明します.
|
2
4
|
|
3
5
|
例えば0.5は`1.0 * 2**-1`なのでバイナリで表すと
|
4
6
|
符号部: `0`
|
4
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
binで2進数表記すると先頭の0は消えるのでそのせいで32bit未満で1から始まるようにみえるのでは.その性質上「0」以外にbinで1から始まらない数は無いです.あとbinは0
|
1
|
+
binで2進数表記すると先頭の0は消えるのでそのせいで32bit未満で1から始まるようにみえるのでは.その性質上「0」以外にbinで1から始まらない数は無いです.あとbinは'0b'が付加されるので長さは本来のものより2長くなります.
|
2
2
|
|
3
3
|
例えば0.5は`1.0 * 2**-1`なのでバイナリで表すと
|
4
4
|
符号部: `0`
|
@@ -8,7 +8,7 @@
|
|
8
8
|
`00111111000000000000000000000000`
|
9
9
|
になります.
|
10
10
|
これをuintにキャストすると1056964608です.
|
11
|
-
そしてbin関数で2進数表記すると先頭の「0」2つは省かれ,0bが付加されて
|
11
|
+
そしてbin関数で2進数表記すると先頭の「0」2つは省かれ,'0b'が付加されて
|
12
12
|
`'0b111111000000000000000000000000'`
|
13
13
|
と表示されます.
|
14
14
|
|
3
些細な修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
`00111111000000000000000000000000`
|
9
9
|
になります.
|
10
10
|
これをuintにキャストすると1056964608です.
|
11
|
-
そしてbin関数で2進数表記すると先頭の02つは省かれ,0bが付加されて
|
11
|
+
そしてbin関数で2進数表記すると先頭の「0」2つは省かれ,0bが付加されて
|
12
12
|
`'0b111111000000000000000000000000'`
|
13
13
|
と表示されます.
|
14
14
|
|
2
些細な修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
`00111111000000000000000000000000`
|
9
9
|
になります.
|
10
10
|
これをuintにキャストすると1056964608です.
|
11
|
-
そしてbin関数で2進数表記すると先頭の02つは省かれ
|
11
|
+
そしてbin関数で2進数表記すると先頭の02つは省かれ,0bが付加されて
|
12
12
|
`'0b111111000000000000000000000000'`
|
13
13
|
と表示されます.
|
14
14
|
|
1
些細な修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
例えば0.5は`1.0 * 2**-1`なのでバイナリで表すと
|
4
4
|
符号部: `0`
|
5
|
-
指数部: `01111110` = -1+127
|
5
|
+
指数部: `01111110` = -1(指数)+127(バイアス値)
|
6
6
|
仮数部: `00000000000000000000000` = 1.0の小数部分
|
7
7
|
となり,単精度浮動小数としては
|
8
8
|
`00111111000000000000000000000000`
|