「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@968) [中] [解決]
@968■ (#3047) ゼロ埋めについて - sky_kazu (2022-02-03 10:03) /低 未処理
【症状】ゼロ埋め命令で変数が10桁を超えると帰り値が?になる
【再現方法】下記サンプルから取得した例を改造した
変数Rは098765432。
変数Rを表示。     #98765432と表示される。
変数Rを9でゼロ埋め。
それを表示。     #098765432と表示される。

変数Sは0987654321。
変数Sを表示。     #987654321と表示される。
変数Sを10でゼロ埋め。
それを表示。     #0987654321と表示される。

変数Tは09876543210。
変数Tを表示。     #9876543210と表示される。
変数Tを11でゼロ埋め。
それを表示。     #01286608618と表示される?。

変数Uは098765432109。
変数Uを表示。     #98765432109と表示される。
変数Uを12でゼロ埋め。
それを表示。     #-000018815699と表示される?。

【要望】仕様なのか不具合なのか不明
【バージョン】1.575、1.585にて確認
【その他】

(#3050) 32ビット整数の限界 - クジラ飛行机 (2022-02-08 11:48) /中 確認待ち
sky_kazuさま
ご報告ありがとうございます。
なでしこ1のゼロ埋は、-2,147,483,648~2,147,483,647の範囲(32ビット整数)の下で動くようになっています。
98765432109は、2,147,483,647よりも大きな数のため、強制的に符号なし32ビットと勘違いされてマイナス値が出てしまったようです。
もちろん、うまくやれば修正も可能なのですが、この動作は、なでしこv1の仕様とさせてください。

参考)
https://docwiki.embarcadero.com/RADStudio/Sydney/ja/%E5%86%85%E9%83%A8%E3%83%87%E3%83%BC%E3%82%BF%E5%BD%A2%E5%BC%8F%EF%BC%88Delphi%EF%BC%89#FixedInt.E3.80.81Integer.E3.80.81Int32

(#3055) ゼロ埋め命令の特性について - sky_kazu (2022-02-15 15:46) /中 解決
回答ありがとうございます。
命令の内容から文字列の処理を使って実現いると思ってました。
ですので仕様なのか確信がもてなかったので投稿した次第です。
ゼロ埋めの処理は別のやり方で代替えしたので問題はありません。

(#3047)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能