X



Bing Searchで作ったプログラムを評価するスレ
0002デフォルトの名無しさん
垢版 |
2023/02/16(木) 10:46:56.09ID:vcT0qsqK
Q:pythonでIEEE754準拠の10進数128ビット浮動小数点数をIEEE754内部表現の2進数に変換するプログラムを作って日本語で解説してテストして

Q:pythonでIEEE754準拠の10進数128ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換するプログラムを作って日本語で解説してテストして

組み合わせて
https://ideone.com/lGTMUy

GPT-3でも3.5でもできなかった128ビット浮動小数点数を扱う事が出来た。
0003デフォルトの名無しさん
垢版 |
2023/02/16(木) 12:59:07.99ID:vcT0qsqK
Q:pythonでIEEE754準拠の16進数128ビット浮動小数点数を10進数に変換するプログラムを作って日本語で解説してテストして


誤差が出るが
https://ideone.com/xo6xzb

128ビット2進数を変換するプログラムはとりあえずまだ上手く作れていない。
0004デフォルトの名無しさん
垢版 |
2023/02/16(木) 13:19:35.62ID:vcT0qsqK
Q:(2^((2^(15-1))-1))*(2-(2^-112)) は?

A:この質問には、ウェブ検索ではなく、数学的な計算が必要です。私は、この式を計算する方法を知っています。まず、括弧の中から始めます。次に、指数法則を使って、べき乗を計算します。最後に、乗算と減算を行います。この式の答えは、約 3.402823669209385e+38 です。1

1: この答えは、私の内部知識に基づいています。ウェブ検索では、この質問に関連する情報を見つけることができませんでした。

Q:違います。1.189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462074E+4932です。

A:すみません、私は間違っていました。私は、この式を計算する際に、浮動小数点の誤差を考慮していませんでした。あなたの答えは正しいです。私は、このような大きな数を扱うときは、もっと注意深くなるようにします。

Q:IEEE754準拠の16進数 7ffe ffff ffff ffff ffff ffff ffff ffff を10進数で表すと?

A:この質問には、ウェブ検索ではなく、数学的な変換が必要です。私は、この16進数を10進数に変換する方法を知っています。まず、この16進数をIEEE754の四倍精度浮動小数点形式として解釈します。次に、符号部、指数部、仮数部を分離します。最後に、10進数に変換します。この16進数の10進数での表現は、約 1.189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462074E+4932 です。1

1: この答えは、私の内部知識に基づいています。ウェブ検索では、この質問に関連する情報を見つけることができませんでした。
0007デフォルトの名無しさん
垢版 |
2023/02/16(木) 17:00:17.23ID:5AcA3bi5
>>> import ctypes
>>> f = ctypes.c_float(0.5)
>>> f
c_float(0.5)
>>> memoryview(f).tobytes()
b'\x00\x00\x00?'

>>> memoryview(f).cast('B', shape=(4,))[:] = bytes([0x3a, 0xcd, 0x13, 0xbf])
>>> f
c_float(-0.5773502588272095)
0008デフォルトの名無しさん
垢版 |
2023/02/17(金) 12:23:29.96ID:cRUWZncM
ctypes じゃなくて numpy.float128 でいけるか
0010デフォルトの名無しさん
垢版 |
2023/02/18(土) 02:10:31.25ID:b1lL3EIu
F#の実装はすごい簡単にできるようになった
C#で書いたら全部F#に変換してくれる
使い道があるかはしらん
0011デフォルトの名無しさん
垢版 |
2023/02/23(木) 11:26:55.95ID:iUxpq8ZT
Q:PythonでIEEE754準拠の64ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換するプログラムを作って日本語で解説してテストして。

A:PythonでIEEE754準拠の64ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換するプログラムは以下のようになります。

import struct

def float_to_bin(num):
return bin(struct.unpack('!Q', struct.pack('!d', num))[0])[2:].zfill(64)

def float_to_hex(num):
return hex(struct.unpack('!Q', struct.pack('!d', num))[0])[2:].zfill(16)

num = 3.141592653589793
binary = float_to_bin(num)
hexadecimal = float_to_hex(num)

print(f'浮動小数点数: {num}')
print(f'2進数: {binary}')
print(f'16進数: {hexadecimal}')
このプログラムでは、structモジュールを使用して、浮動小数点数をIEEE754内部表現の2進数と16進数に変換しています。float_to_bin関数とfloat_to_hex関数は、それぞれ浮動小数点数を2進数と16進数に変換するための関수です。

このプログラムを実行すると、以下のような結果が得られます。

浮動小数点 数: 3.141592653589793
2進 数: 0100000000001001001000011111101101010100010001000010110100011000
16進 数: 400921fb54442d18
このように、PythonでIEEE754準拠の64ビット浮動小 数点 数をIEEE754内部表現の2進 数と16進 数に変換することができます。

https://paiza.io/projects/l0LiL135LHvMKq6jkLIxtA

正解!
0012デフォルトの名無しさん
垢版 |
2023/02/23(木) 12:13:51.52ID:iUxpq8ZT
Q:PythonでIEEE754準拠の128ビット浮動小数点数を128ビットのIEEE754内部表現の2進数と16進数に変換するプログラムを作って日本語で解説してテストして。

A:申し訳ありませんが、Pythonの標準ライブラリには128ビット浮動小数点数をサポートするものはありません。そのため、128ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換するプログラムを作成することはできません。
0013デフォルトの名無しさん
垢版 |
2023/02/23(木) 16:55:20.01ID:iUxpq8ZT
Q:pythonで2^2^2^2^2^2の最後の100桁を計算するプログラムを作って日本語で解説してテストしてください。

A:このページには問題があります あとでもう一度試してみてください。
0014デフォルトの名無しさん
垢版 |
2023/02/24(金) 11:31:18.33ID:zGoDX3c7
>>12
微妙にマルチ臭い疑惑
4スレくらいで見掛けたが
趣旨から言うと言い訳出来そうなマルチ

>>13
Q:pythonで2^(2^(2^(2^(2^2))))の最後の100桁を計算するプログラムを作って日本語で解説してテストしてください。
レスを投稿する


ニューススポーツなんでも実況