回答編集履歴

5

suibaka氏のはただのミスっぽい

2017/06/17 09:45

投稿

yumetodo
yumetodo

スコア5852

test CHANGED
@@ -150,6 +150,18 @@
150
150
 
151
151
  Twitterにて問い合わせ中です。
152
152
 
153
+ **追記:**返答がありました。
154
+
155
+
156
+
157
+ > [https://twitter.com/suibaka/status/876011991055294465](https://twitter.com/suibaka/status/876011991055294465)
158
+
159
+ > ぎゃー long double と間違えました!当時の記憶が全く無いのであれですが,多分コピペして書き換えるの忘れてたんだと思います(本当に申し訳ないです)
160
+
161
+
162
+
163
+ 間違えただけらしいです。
164
+
153
165
 
154
166
 
155
167
  > [この記事](https://ameblo.jp/ico-net/entry-12252242268.html)では、`unsigned double`だけでなく`unsigned float`もあるとのことです。

4

add link

2017/06/17 09:45

投稿

yumetodo
yumetodo

スコア5852

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- https://msdn.microsoft.com/ja-jp/library/ee418354(v=vs.85).aspx
5
+ [スカラー型 (DirectX HLSL)](https://msdn.microsoft.com/ja-jp/library/ee418354(v=vs.85).aspx)
6
6
 
7
7
 
8
8
 
@@ -11,6 +11,10 @@
11
11
 
12
12
 
13
13
  つまり、**部分集合といういささか特殊例ではありますが、符号なし浮動小数点を実装した処理系は存在します。**
14
+
15
+
16
+
17
+ KSwordOfHasteさんが取り上げているSOFのJerry Coffin氏の回答はこれを念頭においている可能性があります。
14
18
 
15
19
 
16
20
 

3

存在します

2017/06/17 07:23

投稿

yumetodo
yumetodo

スコア5852

test CHANGED
@@ -1,3 +1,23 @@
1
+ # 追記:GPUでunsigned floating pointが存在する可能性
2
+
3
+
4
+
5
+ https://msdn.microsoft.com/ja-jp/library/ee418354(v=vs.85).aspx
6
+
7
+
8
+
9
+ DirectX HLSLでは、`unorm float`という0 ~ 1 の範囲の IEEE 32 ビット符号なし**正規化**浮動小数点型が存在するようです。正規化というからには部分集合なんですね。
10
+
11
+
12
+
13
+ つまり、**部分集合といういささか特殊例ではありますが、符号なし浮動小数点を実装した処理系は存在します。**
14
+
15
+
16
+
17
+ # 追記前の内容
18
+
19
+
20
+
1
21
  まず、プログラミング言語レベルの話の前に、アーキテクチャレベルの話、もっというとFPUの話が必要でしょう。
2
22
 
3
23
 
@@ -153,17 +173,3 @@
153
173
  とか言っちゃう人の記事は信用したくない。
154
174
 
155
175
 
156
-
157
- ---
158
-
159
-
160
-
161
- # 追記:GPUでunsigned floating pointが存在する可能性
162
-
163
-
164
-
165
- https://msdn.microsoft.com/ja-jp/library/ee418354(v=vs.85).aspx
166
-
167
-
168
-
169
- DirectX HLSLでは、`unorm float`という0 ~ 1 の範囲の IEEE 32 ビット符号なし**正規化**浮動小数点型が存在するようです。正規化というからには部分集合なんですね。

2

IEEE754 32bit浮動小数点数の部分集合としてならあった

2017/06/17 07:19

投稿

yumetodo
yumetodo

スコア5852

test CHANGED
@@ -151,3 +151,19 @@
151
151
 
152
152
 
153
153
  とか言っちゃう人の記事は信用したくない。
154
+
155
+
156
+
157
+ ---
158
+
159
+
160
+
161
+ # 追記:GPUでunsigned floating pointが存在する可能性
162
+
163
+
164
+
165
+ https://msdn.microsoft.com/ja-jp/library/ee418354(v=vs.85).aspx
166
+
167
+
168
+
169
+ DirectX HLSLでは、`unorm float`という0 ~ 1 の範囲の IEEE 32 ビット符号なし**正規化**浮動小数点型が存在するようです。正規化というからには部分集合なんですね。

1

事例として上げていただいた個別の記事について見ていく

2017/06/17 07:16

投稿

yumetodo
yumetodo

スコア5852

test CHANGED
@@ -25,6 +25,10 @@
25
25
 
26
26
 
27
27
  C#などのように、浮動小数点数の定義をIEEE754に丸投げする言語もありますから、そういった言語を使えなくする処理系は作りにくいかと思います。
28
+
29
+
30
+
31
+ ---
28
32
 
29
33
 
30
34
 
@@ -61,3 +65,89 @@
61
65
 
62
66
 
63
67
  その余剰した1bitを何に使うんだい、精度か?値域か?そもそも需要は?というあたりで、IEEE754を書いた連中は定義しなかったんだろう、と推測されます。
68
+
69
+
70
+
71
+ ---
72
+
73
+
74
+
75
+ さて、事例として上げていただいた個別の記事について見ていきましょう。
76
+
77
+
78
+
79
+ > [この記事](http://qiita.com/wholekeik/items/4b8ee0825f0b12778a3a)によれば、大学の講義に使われたスライドに`unsigned double`と書かれていたようです。記事の著者は`long double`との勘違いではと推測しているようです。
80
+
81
+
82
+
83
+ 大学の授業は信憑性がないのでその解釈でいいと思います。
84
+
85
+
86
+
87
+ > [このスライド](http://exploredoc.com/doc/5967854/c%E8%A8%80%E8%AA%9E%E3%81%AE%E5%9F%BA%E6%9C%AC)の7番目(スライド内のページとしては27ページ)に`unsigned double`と書かれています。値の範囲を見る限り、`long double`と勘違いしたとは思えません。
88
+
89
+
90
+
91
+ 金 帝演という情報系の助教さんが書いているようですが、`char`型の値域が`-128~127`とか言っている時点で察しですね。
92
+
93
+
94
+
95
+ > [この掲示板](http://pc8.2ch.net/test/read.cgi/tech/1108815602/543-)に`unsigned double`の言及があります。ただ、所詮2chですので、回答者がふざけている可能性は否定できません。
96
+
97
+
98
+
99
+ 流れ見た感じ回答側がネタとしか思えないのでスルー安定。
100
+
101
+
102
+
103
+ > [この掲示板](http://dixq.net/forum/viewtopic.php?f=3&t=14604)でも`unsigned double`の言及があります。`unsigned double`がわかる回答者はいないようです。
104
+
105
+
106
+
107
+ 「大学で簡単なシステムをいくつか組みましたが」とか書いているので多分大学の授業で吹き込まれた口でしょう
108
+
109
+
110
+
111
+ > [この解説](http://www.geocities.jp/uncle_of_psp/contents/programing/contents/C_kata.html)では符号無しの数値の型の一つとして`unsigned double`が紹介されています。
112
+
113
+
114
+
115
+ そもそもこの人は「型修飾子」の定義からして間違っているので信憑性0。
116
+
117
+
118
+
119
+ > C++になりますが、[このスライド](https://www.slideshare.net/Suikaba/try-to-use-boostmpl)の17番目にあるコード例に`unsigned double`があります。Cだけでなく、C++にも存在するのでしょうか?
120
+
121
+
122
+
123
+ Boost勉強会に出席するような人がいうと信憑性があるな・・・。
124
+
125
+ [https://twitter.com/yumetodo/status/875967024014348288](https://twitter.com/yumetodo/status/875967024014348288)
126
+
127
+ Twitterにて問い合わせ中です。
128
+
129
+
130
+
131
+ > [この記事](https://ameblo.jp/ico-net/entry-12252242268.html)では、`unsigned double`だけでなく`unsigned float`もあるとのことです。
132
+
133
+
134
+
135
+ 「int---------->4バイト」の時点で察しですね
136
+
137
+
138
+
139
+ > [この記事](http://mw211.com/devlog/index.php?date=20130304)ではさらにunsigned long doubleまであるとのことです。
140
+
141
+
142
+
143
+ 表作るときに間違えただけのような・・・。そもそも
144
+
145
+
146
+
147
+ > [http://mw211.com/devlog/index.php?m=201107](http://mw211.com/devlog/index.php?m=201107)
148
+
149
+ > 「UTF-8」において、全角文字は「3バイト」である
150
+
151
+
152
+
153
+ とか言っちゃう人の記事は信用したくない。