ConvertDecimalをC#の同等の32ビット符号なし整数に変換します
指定されたDecimalの値を同等の32ビット符号なし整数に変換するには、コードは次のとおりです-
例
using System; public class Demo { public static void Main() { Decimal val = 0.001m; Console.WriteLine("Decimal value = "+val); uint res = Decimal.ToUInt32(val); Console.WriteLine("32-bit unsigned integer = "+res); } }
出力
これにより、次の出力が生成されます-
Decimal value = 0.001 32-bit unsigned integer = 0
例
別の例を見てみましょう-
using System; public class Demo { public static void Main() { Decimal val = 67.487m; Console.WriteLine("Decimal value = "+val); uint res = Decimal.ToUInt32(val); Console.WriteLine("32-bit unsigned integer = "+res); } }
出力
これにより、次の出力が生成されます-
Decimal value = 67.487 32-bit unsigned integer = 67
-
C / C ++で整数のオーバーフローを検出する方法は?
唯一の安全な方法は、オーバーフローが発生する前にオーバーフローをチェックすることです。ただし、整数のオーバーフローをチェックするためのハッキーな方法がいくつかあります。したがって、unsigned int加算でオーバーフローを検出することを目的としている場合は、結果が実際に加算された値よりも小さいかどうかを確認できます。たとえば、 サンプルコード unsigned int x, y; unsigned int value = x + y; bool overflow = value < x; // Alternatively "value < y" should
-
C++での符号なし整数の除算アルゴリズムの復元
除算アルゴリズムを使用して符号なし整数を除算する方法について説明します。一部の除算アルゴリズムは紙に適用され、その他はデジタル回路に実装されます。除算アルゴリズムには、低速除算アルゴリズムと高速除算アルゴリズムの2種類があります。低速除算アルゴリズムには、復元、非実行復元、SRT、および非復元アルゴリズムが含まれます。 このチュートリアルでは、0<除数<被除数を想定した復元アルゴリズムについて説明します。 解決策を見つけるためのアプローチ ここでは、レジスタQを使用して商を格納し、レジスタAを使用して剰余を格納し、Mを使用して除数を格納します。 Aの初期値は0に保たれ、その値が復元されます