問題タブ [bcd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 整数から BCD への変換
整数 (最大値は 99999999 に達する可能性があります) を BCD に変換し、4 文字の配列に格納したいと考えています。例: 入力: 12345 (整数) 出力は、4 文字の配列に格納されている BCD で = "00012345" である必要があります。ここ0x00 0x01 0x23 0x45
では BCD 形式で保存されます。以下の方法で試しましたが、うまくいきませんでした
どんな助けでも大歓迎です
c - BCD算術演算
double を BCD に変換する関数を作成しました (BCD: double の各桁を unsigned char として保存し、さらに、完全な長さ、小数部の長さ (浮動小数点の後ろの部分)、および double の符号を保存します) )。次の構造体を使用します
そして、それが double to BCD 関数です。
それは完璧に機能します。
また、加算/減算を実行する機能も追加しました (完全なソース コード: http://pastebin.com/HR70VukM ) が、乗算と除算を実行したいと考えています。しかし問題は、数字として文字しかないことです (私はそれを変更したくありません)。私は今、それは「紙の上の掛け算」(計算機を使わない古典的な方法) のようなものでなければなりませんが、モジュロ演算子を使った足し算のようなものでなければならないという考えを持っています。一方、モジュロ付きの文字で実装する方法がわかりません。アイデアやヒントはありますか?
verilog - Verilog の 2 進化 10 進数
BCD to 7 セグメントの次のコードを書きました。コードは find をコンパイルしてシミュレートしますが、num の値が 2 を超えていません。その理由はわかりません。コードは次のとおりです。
サブモジュール:
oracle - TADOQuery による負の数の変換
私は大きな問題を抱えていTADOQuery
ます:
これは私のSQLです:
この時点でタイプが変更されるため、「foo」フィールドを追加すると、TBCDField の代わりに TIntegerField が作成されます。
関数:
この時点では信号を考慮していません:
tagVariant
TIntegerFieldの値は次のとおりです。
(14, 32768, 0, 0, 10, 10, 10, 1.4012984643e-44, 4.9406564584e-323, 真, 10, 0.001, 4.9406564584e-323, , $A, $A, $A, $A, $ A, $A, $A, $A, $A, $A, $A, $A, $A '', $A, $A, $A, $A, $A, #10, 10, 10, 10, 10, $A, , $A, $A, $A, $A)
これは TBCDField でも同じです:
(14, 32768, 0, 0, 10, 10, 10, 1.4012984643e-44, 4.9406564584e-323, 真, 10, 0.001, 4.9406564584e-323, , $A, $A, $A, $A, $ A, $A, $A, $A, $A, $A, $A, $A, $A '', $A, $A, $A, $A, $A, #10, 10, 10, 10, 10, $A, , $A, $A, $A, $A)
foo の値は 10 になり、bar の値は -10 になります。
これはバグですか?
回避策はありますか?
修正されましたか?
Microsoft OLEDB provider for Oracle と Oracle Provider for OLEDB を使用してテストしました。すべてのテストは、Delphi 6 を使用して行われています。
delphi - 文字列から BCD (embarcadero delphi)
編集:
私は(ASCIIのテストファイル)ASCIIで次のレコードを持っています: "000000000.00"
BCDのカウンターパート(bcd/ebcdicの他のテストファイル)を解析してISOを出力する必要があります。
BCDで6文字、ASCIIで11文字かかると思います。
だから私の必要性は、それを前後に変換できる何かでした.
最初に、各文字を取得し、それを変換関数にフィードして元に戻すことを考えたので、めちゃくちゃな質問になりました。
私はもっと明確であることを願っています。
ヤイン
unsigned - SyncSort を使用してデータを署名なしのパック形式に変換するにはどうすればよいですか?
数値データ (入力時に文字として格納される) をパックされた符号付きまたはパックされた符号なしの形式に変換する必要があります。「PD」形式を使用してパック/署名に変換できますが、署名されていないパック データを取得するのに苦労しています。
たとえば、14723 のような ZD 番号を次のように変換する必要があります。
042
173
PDを使用して、これを取得します(これで問題ありません):
0173
042C
助言がありますか?このショップには COBOL がなく、これらのデータ変換を処理するために SyncSort に依存しています。SyncSort に「PK」オプションが表示されませんが、以前に見落としていたものがあります。